<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:73fb8eb5-ced4-47c7-a0ed-5bbe25c40d85(ASN.actions)">
  <persistence version="3" />
  <refactoringHistory />
  <language namespace="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" />
  <language namespace="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" />
  <language namespace="da8ceeba-3b3b-4979-995d-22ce7774e01d(ASN)" />
  <language namespace="aee9cad2-acd4-4608-aef2-0004f6a1cdbd(jetbrains.mps.lang.actions)" />
  <language namespace="13744753-c81f-424a-9c1b-cf8943bf4e86(jetbrains.mps.lang.sharedConcepts)" />
  <language namespace="daafa647-f1f7-4b0b-b096-69cd7c8408c0(jetbrains.mps.baseLanguage.regexp)" />
  <language namespace="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902c1(jetbrains.mps.baseLanguage.constraints)" version="83" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959028c(jetbrains.mps.lang.structure.constraints)" version="11" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902a8(jetbrains.mps.lang.actions.structure)" version="23" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902bc(jetbrains.mps.lang.sharedConcepts.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ba(jetbrains.mps.lang.sharedConcepts.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590283(jetbrains.mps.lang.core.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902db(jetbrains.mps.baseLanguage.blTypes.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902a4(jetbrains.mps.lang.actions.constraints)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902fb(jetbrains.mps.lang.smodel.constraints)" version="21" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590334(jetbrains.mps.baseLanguage.closures.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959033d(jetbrains.mps.lang.annotations.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959034b(jetbrains.mps.lang.quotation.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ae(jetbrains.mps.lang.typesystem.constraints)" version="17" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590328(jetbrains.mps.baseLanguage.collections.constraints)" version="6" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590340(jetbrains.mps.lang.pattern.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590518(jetbrains.mps.baseLanguage.regexp.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590515(jetbrains.mps.baseLanguage.regexp.constraints)" version="3" />
  <languageAspect modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959057f(jetbrains.mps.baseLanguage.logging.structure)" version="0" />
  <devkit namespace="2677cb18-f558-4e33-bc38-a5139cee06dc(jetbrains.mps.devkit.language-design)" />
  <maxImportIndex value="6" />
  <import index="1" modelUID="r:a0195228-8fdd-4c86-b365-db9fe13c8098(ASN.structure)" version="4" />
  <import index="4" modelUID="r:00000000-0000-4000-0000-011c89590519(jetbrains.mps.baseLanguage.regexp.jetbrains.mps.regexp.accessory)" version="-1" />
  <import index="5" modelUID="f:java_stub#java.lang(java.lang@java_stub)" version="-1" />
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="6124461261553197465">
    <property name="name" value="ExtensionAndException_AddException" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="6124461261553197466">
      <link role="applicableConcept" targetNodeId="1.7534685045991855426" resolveInfo="ExtensionAndException" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="6124461261553197468">
        <link role="concept" targetNodeId="1.7534685045991855426" resolveInfo="ExtensionAndException" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="6124461261553197470">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="6124461261553197471">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6124461261553197472">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="6124461261553197475">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6124461261553197482">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6124461261553197477">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="6124461261553197476" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6124461261553197481">
                      <link role="link" targetNodeId="1.7534685045991855468" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="6124461261553197486" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="6124461261553197490">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="6124461261553197494" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="6124461261553197473">
            <property name="text" value=" " />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="6124461261553197474">
            <property name="text" value="add exception" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="5108187754403599192">
    <property name="name" value="ExtensionAddition_Choose" />
    <property name="package" value="substitutions" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="3453644556578659335">
      <link role="applicableConcept" targetNodeId="1.1678051738092738014" resolveInfo="IExtensionAddition" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.ConceptSubstitutePart" id="3453644556578659339">
        <link role="concept" targetNodeId="1.1678051738092738017" resolveInfo="ExtensionAdditionGroup" />
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.NodeSubstitutePreconditionFunction" id="3453644556579401513">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3453644556579401514">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3453644556579540972">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556579540974">
              <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parentNode" id="3453644556579540973" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="3453644556579540978">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="3453644556580027871">
                  <link role="conceptDeclaration" targetNodeId="1.3453644556579784087" resolveInfo="ExtensionAdditionList" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="5108187754403599193">
      <link role="applicableConcept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.RemoveDefaultsPart" id="5108187754405571141" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="3453644556578577771">
        <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSubstituteMenuPart" id="3453644556578577772">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="3453644556578648120" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSubstitute_Query" id="3453644556578577774">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3453644556578577775">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3453644556578648121">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="3453644556578648122">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="3453644556578654265">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="3453644556578654267" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3453644556578654270">
                      <property name="value" value="&lt;Name&gt; &lt;Type&gt;" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3453644556578654272">
                      <property name="value" value="COMPONENTS OF &lt;Type&gt;" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSubstitute_Handler" id="3453644556578577776">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3453644556578577777">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3453644556578659294">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3453644556578659295">
                  <property name="name" value="node" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3453644556578659296">
                    <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659297">
                    <node role="operand" type="jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_model" id="3453644556578659298" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Model_CreateNewNodeOperation" id="3453644556578659299">
                      <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3453644556578659285">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659286">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659287">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3453644556578659288">
                      <link role="variableDeclaration" targetNodeId="3453644556578659295" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3453644556578659289">
                      <link role="property" targetNodeId="1.9020003798796524378" resolveInfo="isConstructed" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="3453644556578659290">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="3453644556578659291">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3453644556578659292" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3453644556578659248">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3453644556578659249">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3453644556578659267">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659268">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659269">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3453644556578659300">
                          <link role="variableDeclaration" targetNodeId="3453644556578659295" resolveInfo="node" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3453644556578659271">
                          <link role="property" targetNodeId="1.5108187754403599168" resolveInfo="isNamedType" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="3453644556578659272">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="3453644556578659273">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="3453644556578659256">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3453644556578659259">
                    <property name="value" value="&lt;Name&gt; &lt;Type&gt;" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="3453644556578659252" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3453644556578659283" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3453644556578654273">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="3453644556578659243">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="3453644556578659246">
                    <property name="value" value="COMPONENTS OF &lt;Type&gt;" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="3453644556578654276" />
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3453644556578654275">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3453644556578659311">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659318">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3453644556578659313">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3453644556578659312">
                          <link role="variableDeclaration" targetNodeId="3453644556578659295" resolveInfo="node" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3453644556578659317">
                          <link role="property" targetNodeId="1.5108187754403599168" resolveInfo="isNamedType" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="3453644556578659322">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="3453644556578659324">
                          <property name="value" value="false" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3453644556578659301" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3453644556578659303">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3453644556578659304">
                  <link role="variableDeclaration" targetNodeId="3453644556578659295" resolveInfo="node" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2455424604183964983">
    <property name="name" value="IntegerType_AddNamedNumberList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2455424604183964984">
      <property name="transformTag" value="default_RTransform" />
      <link role="applicableConcept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2455424604183964986">
        <link role="concept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2455424604183964988">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2455424604183964989">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604183964990">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2455424604183964996">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2455424604183964997">
                  <property name="name" value="integerType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2455424604183964998">
                    <link role="concept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.CastExpression" id="2455424604183965007">
                    <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2455424604183965008">
                      <link role="concept" targetNodeId="1.8702535492065731432" resolveInfo="IntegerType" />
                    </node>
                    <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2455424604183965010" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604183965016">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604183965023">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604183965018">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2455424604183965017">
                      <link role="variableDeclaration" targetNodeId="2455424604183964997" resolveInfo="integerType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604183965022">
                      <link role="link" targetNodeId="1.2455424604183964945" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2455424604183965027" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2455424604183965012">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2455424604183965014">
                  <link role="variableDeclaration" targetNodeId="2455424604183964997" resolveInfo="integerType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4202478297959236281">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="5248658328134192757">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192758">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192759">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192766">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192761">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192760" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192765">
                  <link role="link" targetNodeId="1.2455424604183964945" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="5248658328134192780" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2455424604185799852">
    <property name="name" value="EnumeratedType" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2455424604185799853">
      <property name="transformTag" value="default_RTransform" />
      <link role="applicableConcept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2455424604185799854">
        <link role="concept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2455424604185799855">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2455424604185799856">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604185799857">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2455424604185799859">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2455424604185799860">
                  <property name="name" value="enumeratedType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2455424604185799861">
                    <link role="concept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604186879940">
                    <node role="operand" type="jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_model" id="2455424604186809597" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Model_CreateNewNodeOperation" id="2455424604186879944">
                      <link role="concept" targetNodeId="1.5982802075657803894" resolveInfo="EnumeratedType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604185799872">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185799879">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604185799874">
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604185799878">
                      <link role="link" targetNodeId="1.2455424604185799775" />
                    </node>
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2455424604186879947">
                      <link role="variableDeclaration" targetNodeId="2455424604185799860" resolveInfo="enumeratedType" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2455424604185799883" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604186879950">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604186879953">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2455424604186879952" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="2455424604186879957">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2455424604186879959">
                      <link role="variableDeclaration" targetNodeId="2455424604185799860" resolveInfo="enumeratedType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2455424604185799868">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2455424604185799870" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="2455424604185799858">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2455424604187529143">
    <property name="name" value="BitStringType_AddIdentifierList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2455424604187529144">
      <property name="transformTag" value="default_RTransform" />
      <link role="applicableConcept" targetNodeId="1.7401774347124399986" resolveInfo="BitStringType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2455424604187529146">
        <link role="concept" targetNodeId="1.7401774347124399986" resolveInfo="BitStringType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2455424604187529148">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2455424604187529149">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2455424604187529150">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2455424604187529152">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187529159">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2455424604187529154">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2455424604187529153" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2455424604187529158">
                      <link role="link" targetNodeId="1.7401774347124493375" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2455424604187529163" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2455424604187529167">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2455424604187529171" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="2455424604187529151">
            <property name="text" value="{} " />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="5248658328134192794">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192795">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192796">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192803">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192798">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192797" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192802">
                  <link role="link" targetNodeId="1.7401774347124493375" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="5248658328134192807" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="32273968139843573">
    <property name="name" value="ValueSubstitutions" />
    <property name="package" value="substitutions" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="1872831763369676335">
      <link role="applicableConcept" targetNodeId="1.5430715052354187086" resolveInfo="Value" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="1872831763369676348">
        <link role="concept" targetNodeId="1.5430715052354187086" resolveInfo="Value" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="3184203248661873712">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="3184203248661873713">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661873714">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="3184203248661873748">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3184203248661873749">
                  <property name="name" value="integerValue" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3184203248661873750">
                    <link role="concept" targetNodeId="1.1678051738083057375" resolveInfo="IntegerValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="3184203248661873752">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="3184203248661876274">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="3184203248661876275">
                        <link role="concept" targetNodeId="1.1678051738083057375" resolveInfo="IntegerValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.TryCatchStatement" id="3184203248661915368">
                <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661915369">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3184203248661915376">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8514903112312803681">
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.StaticMethodCall" id="3719642893107298506">
                        <link role="baseMethodDeclaration" targetNodeId="5.~Integer.parseInt(java.lang.String):int" resolveInfo="parseInt" />
                        <link role="classConcept" targetNodeId="5.~Integer" resolveInfo="Integer" />
                        <node role="actualArgument" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_pattern" id="3719642893107298508" />
                      </node>
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3184203248661915378">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3184203248661915379">
                          <link role="variableDeclaration" targetNodeId="3184203248661873749" resolveInfo="integerValue" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3719642893107298503">
                          <link role="property" targetNodeId="1.8935930502167231358" resolveInfo="value" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="catchClause" type="jetbrains.mps.baseLanguage.structure.CatchClause" id="3184203248661915371">
                  <node role="throwable" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="3184203248661915372">
                    <property name="name" value="exception" />
                    <node role="type" type="jetbrains.mps.baseLanguage.structure.ClassifierType" id="3184203248661915375">
                      <link role="classifier" targetNodeId="5.~Exception" resolveInfo="Exception" />
                    </node>
                  </node>
                  <node role="catchBody" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661915374">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3184203248661916380">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="3184203248661916387">
                        <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3184203248661916382">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3184203248661916381">
                            <link role="variableDeclaration" targetNodeId="3184203248661873749" resolveInfo="integerValue" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="3719642893107298509">
                            <link role="property" targetNodeId="1.8935930502167231358" resolveInfo="value" />
                          </node>
                        </node>
                        <node role="rValue" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="3719642893107298510">
                          <property name="value" value="0" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3184203248661876277">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="3184203248661876279">
                  <link role="variableDeclaration" targetNodeId="3184203248661873749" resolveInfo="integerValue" />
                </node>
              </node>
            </node>
          </node>
          <node role="canSubstitute" type="jetbrains.mps.lang.actions.structure.QueryFunction_CanSubstitute" id="3184203248661873715">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661873716">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="3184203248661873717">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661873718">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3184203248661873719">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3184203248661873720">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_pattern" id="3184203248661873721" />
                      <node role="operation" type="jetbrains.mps.baseLanguage.regexp.structure.MatchRegexpOperation" id="3184203248661873722">
                        <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.InlineRegexpExpression" id="3184203248661873723">
                          <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.SeqRegexp" id="3184203248661873724">
                            <node role="left" type="jetbrains.mps.baseLanguage.regexp.structure.QuestionRegexp" id="3184203248661873725">
                              <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.StringLiteralRegexp" id="3184203248661873726">
                                <property name="text" value="-" />
                              </node>
                            </node>
                            <node role="right" type="jetbrains.mps.baseLanguage.regexp.structure.PlusRegexp" id="3184203248661873727">
                              <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.PredefinedSymbolClassRegexp" id="3184203248661873728">
                                <link role="symbolClass" targetNodeId="4.1174554674770" resolveInfo="\d" />
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_strictly" id="3184203248661873729" />
                <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="3184203248661873730">
                  <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661873731">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3184203248661873732">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3184203248661873733">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_pattern" id="3184203248661873734" />
                        <node role="operation" type="jetbrains.mps.baseLanguage.regexp.structure.MatchRegexpOperation" id="3184203248661873735">
                          <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.InlineRegexpExpression" id="3184203248661873736">
                            <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.SeqRegexp" id="3184203248661873737">
                              <node role="left" type="jetbrains.mps.baseLanguage.regexp.structure.QuestionRegexp" id="3184203248661873738">
                                <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.StringLiteralRegexp" id="3184203248661873739">
                                  <property name="text" value="-" />
                                </node>
                              </node>
                              <node role="right" type="jetbrains.mps.baseLanguage.regexp.structure.StarRegexp" id="3184203248661873740">
                                <node role="regexp" type="jetbrains.mps.baseLanguage.regexp.structure.PredefinedSymbolClassRegexp" id="3184203248661873741">
                                  <link role="symbolClass" targetNodeId="4.1174554674770" resolveInfo="\d" />
                                </node>
                              </node>
                            </node>
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SubstituteString" id="3184203248661873743">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3184203248661873744">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3184203248661873745">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_pattern" id="3184203248661873747" />
              </node>
            </node>
          </node>
        </node>
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSubstituteMenuPart" id="7585540365177894589">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="7585540365177894595" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSubstitute_Query" id="7585540365177894591">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365177894592">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7585540365177894596">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="7585540365177894598">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="7585540365177900741">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="7585540365177900743" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365177900745">
                      <property name="value" value="TRUE" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365177900747">
                      <property name="value" value="FALSE" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSubstitute_Handler" id="7585540365177894593">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365177894594">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="7585540365177900752">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="7585540365177900753">
                  <property name="name" value="booleanValue" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="7585540365177900754">
                    <link role="concept" targetNodeId="1.7832527542465803930" resolveInfo="BooleanValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="7585540365177900756">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="7585540365177900758">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="7585540365177900759">
                        <link role="concept" targetNodeId="1.7832527542465803930" resolveInfo="BooleanValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365177900765">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="7585540365177900772">
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365177900767">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7585540365177900766">
                      <link role="variableDeclaration" targetNodeId="7585540365177900753" resolveInfo="booleanValue" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7585540365177900771">
                      <link role="property" targetNodeId="1.7832527542465803935" resolveInfo="value" />
                    </node>
                  </node>
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7585540365177900775">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="7585540365177900778">
                      <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365177900781">
                        <property name="value" value="TRUE" />
                      </node>
                      <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365177900777" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7585540365177900761">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7585540365177900763">
                  <link role="variableDeclaration" targetNodeId="7585540365177900753" resolveInfo="booleanValue" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSubstitute_String" id="7585540365177900748">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365177900749">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365177900750">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365177900751" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="4774048611891108345">
    <property name="name" value="RealValue_Substitutions" />
    <property name="package" value="substitutions" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4774048611891108346">
      <link role="applicableConcept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611891108347">
        <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4774048611891108349">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4774048611891108350">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611891108351">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4774048611891108353">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4774048611891108354">
                  <property name="name" value="node" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108355">
                    <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4774048611891108357">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4774048611891108359">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108360">
                        <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108367">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108378">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108381">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108369">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108368">
                      <link role="variableDeclaration" targetNodeId="4774048611891108354" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108373">
                      <link role="property" targetNodeId="1.4774048611890888322" resolveInfo="isPlusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891579702">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891579709">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891579712">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891579704">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891579703">
                      <link role="variableDeclaration" targetNodeId="4774048611891108354" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891579708">
                      <link role="property" targetNodeId="1.4774048611890888323" resolveInfo="isMinusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891579714">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891579721">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4774048611891579724" />
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891579716">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891579715">
                      <link role="variableDeclaration" targetNodeId="4774048611891108354" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4774048611891579720">
                      <link role="link" targetNodeId="1.4774048611890888325" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611891108362">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108365">
                  <link role="variableDeclaration" targetNodeId="4774048611891108354" resolveInfo="node" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4774048611891108352">
            <property name="text" value="PLUS-INFINITY" />
          </node>
        </node>
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4774048611891108482">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4774048611891108483">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611891108484">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4774048611891108487">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4774048611891108488">
                  <property name="name" value="node" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108489">
                    <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4774048611891108490">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4774048611891108491">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108492">
                        <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108493">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108494">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108495">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108496">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108497">
                      <link role="variableDeclaration" targetNodeId="4774048611891108488" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108501">
                      <link role="property" targetNodeId="1.4774048611890888323" resolveInfo="isMinusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891579726">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891579727">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891579728">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891579729">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891579730">
                      <link role="variableDeclaration" targetNodeId="4774048611891108488" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891579739">
                      <link role="property" targetNodeId="1.4774048611890888322" resolveInfo="isPlusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891579732">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891579733">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4774048611891579734" />
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891579735">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891579736">
                      <link role="variableDeclaration" targetNodeId="4774048611891108488" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4774048611891579737">
                      <link role="link" targetNodeId="1.4774048611890888325" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611891108499">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108500">
                  <link role="variableDeclaration" targetNodeId="4774048611891108488" resolveInfo="node" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4774048611891108485">
            <property name="text" value="MINUS-INFINITY" />
          </node>
        </node>
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4774048611891108504">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4774048611891108505">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611891108506">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4774048611891108508">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4774048611891108509">
                  <property name="name" value="node" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108510">
                    <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4774048611891108511">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4774048611891108512">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108513">
                        <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108514">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108515">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108516">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108517">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108518">
                      <link role="variableDeclaration" targetNodeId="4774048611891108509" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108519">
                      <link role="property" targetNodeId="1.4774048611890888322" resolveInfo="isPlusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108523">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108530">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108533">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108525">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108524">
                      <link role="variableDeclaration" targetNodeId="4774048611891108509" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108529">
                      <link role="property" targetNodeId="1.4774048611890888323" resolveInfo="isMinusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108535">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108542">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108537">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108536">
                      <link role="variableDeclaration" targetNodeId="4774048611891108509" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4774048611891108541">
                      <link role="link" targetNodeId="1.4774048611890888325" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="4774048611891108546" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611891108520">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108521">
                  <link role="variableDeclaration" targetNodeId="4774048611891108509" resolveInfo="node" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4774048611891108507">
            <property name="text" value="&lt;SequenceValue&gt;" />
          </node>
        </node>
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4774048611891108549">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4774048611891108550">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611891108551">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4774048611891108568">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4774048611891108569">
                  <property name="name" value="node" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108570">
                    <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4774048611891108571">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4774048611891108572">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4774048611891108573">
                        <link role="concept" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108574">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108575">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108576">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108577">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108578">
                      <link role="variableDeclaration" targetNodeId="4774048611891108569" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108579">
                      <link role="property" targetNodeId="1.4774048611890888322" resolveInfo="isPlusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108580">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108581">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611891108582">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108583">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108584">
                      <link role="variableDeclaration" targetNodeId="4774048611891108569" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611891108585">
                      <link role="property" targetNodeId="1.4774048611890888323" resolveInfo="isMinusInfinity" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891108586">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611891108595">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.NullLiteral" id="4774048611891108598" />
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891108588">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108589">
                      <link role="variableDeclaration" targetNodeId="4774048611891108569" resolveInfo="node" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4774048611891108590">
                      <link role="link" targetNodeId="1.4774048611890888325" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611891108592">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4774048611891108593">
                  <link role="variableDeclaration" targetNodeId="4774048611891108569" resolveInfo="node" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4774048611891108552">
            <property name="text" value="&lt;realnumber&gt;" />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.NodeSubstitutePreconditionFunction" id="4774048611893289664">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611893289665">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611893289666">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611893289668">
              <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_currentTargetNode" id="4774048611893289667" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4774048611893289672">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4774048611893289675">
                  <link role="conceptDeclaration" targetNodeId="1.4774048611890888320" resolveInfo="RealValue" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4774048611891907808">
    <property name="name" value="ObjectIdentifierValue_AddDefinedValue" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4774048611891907809">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738083754657" resolveInfo="ObjectIdentifierValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611891907810">
        <link role="concept" targetNodeId="1.1678051738083754657" resolveInfo="ObjectIdentifierValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4774048611891907811">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4774048611891907812">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611891907813">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611891907823">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891907830">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611891907825">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611891907824" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4774048611891907829">
                      <link role="link" targetNodeId="1.1678051738083754663" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="4774048611891907834" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611891907838">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611891907842" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4774048611891907814">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4774048611892551432">
    <property name="name" value="ObjIdComponent" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4774048611892551435">
      <property name="transformTag" value="ext_1_RTransform" />
      <property name="description" value="Add &quot;(&quot; &lt;number&gt; &quot;)&quot; after name" />
      <link role="applicableConcept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611892551440">
        <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4774048611892551441">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4774048611892551442">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551443">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611892780676">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611893564472">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611893564467">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780677" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408161781339">
                      <link role="link" targetNodeId="1.4787660408160766384" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="4774048611893564476" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611892551454">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780687" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4774048611892551444">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="4774048611892551540">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551541">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611893564455">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611893564462">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611893564457">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611893564456" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408161781338">
                  <link role="link" targetNodeId="1.4787660408160766384" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="4774048611893564466" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4774048611892551493">
      <property name="transformTag" value="ext_2_RTransform" />
      <property name="description" value="Add name before number" />
      <link role="applicableConcept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="4774048611892551513">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551514">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611892551515">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4774048611892551516">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611892551517">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892551518" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611892551519">
                  <link role="property" targetNodeId="1.4774048611892551347" resolveInfo="isNamePresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611892551520">
        <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4774048611892551521">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4774048611892551522">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551523">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611892780688">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611892780695">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611892780698">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611892780690">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780689" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611892780694">
                      <link role="property" targetNodeId="1.4774048611892551347" resolveInfo="isNamePresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611892780700">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780702" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4774048611892551524">
            <property name="text" value=")" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4774048611892551471">
      <property name="description" value="Add name before number" />
      <property name="side" value="left" />
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611892551472">
        <link role="concept" targetNodeId="1.4774048611892551234" resolveInfo="ObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4774048611892551473">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4774048611892551474">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551475">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611892780703">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="4774048611892780704">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4774048611892780705">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611892780706">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780707" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611892780708">
                      <link role="property" targetNodeId="1.4774048611892551347" resolveInfo="isNamePresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611892780709">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892780710" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4774048611892551476">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="4774048611892551494">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611892551495">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611892551503">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="4774048611892551504">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611892551508">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611892551507" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4774048611892551512">
                  <link role="property" targetNodeId="1.4774048611892551347" resolveInfo="isNamePresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4774048611895576390">
    <property name="name" value="GlobalModuleReference_AddAssignedIdentifier" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4774048611895576391">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.8372054433699552963" resolveInfo="GlobalModuleReference" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4774048611895576393">
        <link role="concept" targetNodeId="1.8372054433699552963" resolveInfo="GlobalModuleReference" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4774048611895576394">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4774048611895576395">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4774048611895576396">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4774048611895576398">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611895576405">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4774048611895576400">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611895576399" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="4787660408161842099">
                      <link role="link" targetNodeId="1.4787660408160063973" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="4774048611895576409" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4774048611895576413">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4774048611895576417" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4774048611895576397">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="5019664383908530516">
    <property name="name" value="ObjectClassDefn_AddWithSyntax" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5019664383908530517">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="5019664383908530518">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383908530519">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383908530520">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383908530527">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383908530522">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5019664383908530521" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5019664383908530526">
                  <link role="link" targetNodeId="1.1678051738087534715" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="5019664383908530531" />
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5019664383908530532">
        <link role="concept" targetNodeId="1.1678051738087227663" resolveInfo="ObjectClassDefn" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5019664383908530539">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5019664383908530540">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5019664383908530541">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5019664383908530544">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383908530552">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5019664383908530546">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5019664383908530545" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5019664383908530551">
                      <link role="link" targetNodeId="1.1678051738087534715" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="5019664383908530556" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5019664383908530560">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5019664383908530564" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5019664383908530543">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="5019664383909000945">
    <property name="name" value="FieldSpec_AddOptionalitySpec" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5019664383909000946">
      <property name="transformTag" value="default_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpecification" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="7732518329892790735">
        <link role="concept" targetNodeId="1.1678051738085519718" resolveInfo="IFieldSpecification" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="7732518329892790736">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="7732518329892790742" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="7732518329892790738">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892790739">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="7732518329892790770">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="7732518329892790771">
                  <property name="name" value="result" />
                  <node role="type" type="jetbrains.mps.baseLanguage.collections.structure.ListType" id="7732518329892790772">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="7732518329892790774" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="7732518329892790776">
                    <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="7732518329892796919">
                      <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="7732518329892796921" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7732518329892790748">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7732518329892790757">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="7732518329892790759">
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790763">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790762" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892790767">
                        <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                      </node>
                    </node>
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790752">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790751" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892790756">
                        <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892790750">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892796922">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892796924">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7732518329892796923">
                        <link role="variableDeclaration" targetNodeId="7732518329892790771" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7732518329892796928">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892796932">
                          <property name="value" value="OPTIONAL" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892796936">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892796938">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7732518329892796937">
                        <link role="variableDeclaration" targetNodeId="7732518329892790771" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7732518329892796942">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892796946">
                          <property name="value" value="DEFAULT" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7732518329892796953" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7732518329892796955">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892796956">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892796980">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892796982">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7732518329892796981">
                        <link role="variableDeclaration" targetNodeId="7732518329892790771" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7732518329892796986">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892796990">
                          <property name="value" value="UNQIUE" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7732518329892796967">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7732518329892796978">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892796973">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="7732518329892796971">
                        <link role="concept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpecification" />
                        <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892796970" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892796977">
                        <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
                      </node>
                    </node>
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892796960">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892796959" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="7732518329892796964">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7732518329892796966">
                        <link role="conceptDeclaration" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpecification" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7732518329892796950">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7732518329892796952">
                  <link role="variableDeclaration" targetNodeId="7732518329892790771" resolveInfo="result" />
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="7732518329892790740">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892790741">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7732518329892796996">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892796997">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892797011">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797020">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797015">
                        <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="7732518329892797013">
                          <link role="concept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpecification" />
                          <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892797012" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892797019">
                          <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7732518329892797024">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7732518329892797026">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797005">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7732518329892797000" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="7732518329892797009">
                    <link role="baseMethodDeclaration" targetNodeId="5.~String.equalsIgnoreCase(java.lang.String):boolean" resolveInfo="equalsIgnoreCase" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892797010">
                      <property name="value" value="UNQIUE" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7732518329892797028">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892797029">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892797039">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797046">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797041">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892797040" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892797045">
                          <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7732518329892797050">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7732518329892797052">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892797054">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797061">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797056">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892797055" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892797060">
                          <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7732518329892797065">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7732518329892797067">
                          <property name="value" value="false" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797033">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7732518329892797032" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="7732518329892797037">
                    <link role="baseMethodDeclaration" targetNodeId="5.~String.equalsIgnoreCase(java.lang.String):boolean" resolveInfo="equalsIgnoreCase" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892797038">
                      <property name="value" value="OPTIONAL" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7732518329892797069">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892797070">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892797080">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797087">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797082">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892797081" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892797086">
                          <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7732518329892797091">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7732518329892797093">
                          <property name="value" value="false" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892797095">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797102">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797097">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892797096" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892797101">
                          <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7732518329892797106">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7732518329892797108">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892797074">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7732518329892797073" />
                  <node role="operation" type="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" id="7732518329892797078">
                    <link role="baseMethodDeclaration" targetNodeId="5.~String.equalsIgnoreCase(java.lang.String):boolean" resolveInfo="equalsIgnoreCase" />
                    <node role="actualArgument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7732518329892797079">
                      <property name="value" value="DEFAULT" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892796993">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892796994" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="7732518329892790744">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892790745">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892790746">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7732518329892790747" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="7732518329892790665">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329892790666">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329892790667">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="7732518329892790699">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7732518329892790710">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7732518329892790712">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7732518329892790715">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7732518329892790717">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790726">
                        <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="7732518329892790724">
                          <link role="concept" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpecification" />
                          <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790719" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892790730">
                          <link role="property" targetNodeId="1.5019664383909669828" resolveInfo="isUnique" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790703">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790702" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="7732518329892790707">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7732518329892790709">
                        <link role="conceptDeclaration" targetNodeId="1.1678051738086112479" resolveInfo="FixedTypeValueFieldSpecification" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7732518329892790691">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="7732518329892790693">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790669">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790668" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892790673">
                      <link role="property" targetNodeId="1.5019664383912897434" resolveInfo="defaultMark" />
                    </node>
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329892790696">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329892790697" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7732518329892790698">
                      <link role="property" targetNodeId="1.5019664383912897433" resolveInfo="optionalMark" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="1932240741511886643">
    <property name="name" value="RelativeOIDComponent_AddNumber" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="1932240741511886644">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.6938061653425424581" resolveInfo="RelativeOIDComponent" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="1932240741511886646">
        <link role="concept" targetNodeId="1.6938061653425424581" resolveInfo="RelativeOIDComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="1932240741511886648">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="1932240741511886649">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1932240741511886650">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1932240741511886652">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741511886659">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1932240741511886654">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1932240741511886653" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1932240741511886658">
                      <link role="link" targetNodeId="1.6938061653425540556" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="1932240741511886663" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1932240741511886667">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1932240741511886671" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="1932240741511886651">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2229019017265167322">
    <property name="name" value="MultipleTypeConstraints_AddExtension" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2229019017265167323">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.3016143038560372986" resolveInfo="MultipleTypeConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2229019017265167324">
        <link role="concept" targetNodeId="1.3016143038560372986" resolveInfo="MultipleTypeConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2229019017265167325">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2229019017265167326">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265167327">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265167329">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017265167336">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2229019017265167339">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265167331">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265167330" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017265167335">
                      <link role="property" targetNodeId="1.2229019017265067757" resolveInfo="isPartialSpec" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017265167342">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265167344" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="2229019017265167328">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2229019017265412904">
    <property name="name" value="NamedConsraint" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2229019017265783223">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2229019017265783225">
        <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="2229019017265783230">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017265783236" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="2229019017265783232">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265783233">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2229019017266089814">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2229019017266089815">
                  <property name="name" value="list" />
                  <node role="type" type="jetbrains.mps.baseLanguage.collections.structure.ListType" id="2229019017266089816">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017266089818" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2229019017266089820">
                    <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="2229019017266092342">
                      <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017266092344" />
                      <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266092346">
                        <property name="value" value="&lt;Constraint&gt;" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2229019017266092352">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266092353">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266092487">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092489">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017266092488">
                        <link role="variableDeclaration" targetNodeId="2229019017266089815" resolveInfo="list" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="2229019017266092505">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266092509">
                          <property name="value" value="PRESENT" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266092513">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092514">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017266092515">
                        <link role="variableDeclaration" targetNodeId="2229019017266089815" resolveInfo="list" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="2229019017266092516">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266092517">
                          <property name="value" value="OPTIONAL" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266092521">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092523">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017266092522">
                        <link role="variableDeclaration" targetNodeId="2229019017266089815" resolveInfo="list" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="2229019017266092527">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266092531">
                          <property name="value" value="ABSENT" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="2229019017266092479">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092482">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266092481" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017266092486">
                      <link role="property" targetNodeId="1.2229019017265412910" resolveInfo="presenceConstraintVisible" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017266092348">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017266092350">
                  <link role="variableDeclaration" targetNodeId="2229019017266089815" resolveInfo="list" />
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="2229019017265783234">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265783235">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2229019017265785776">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="2229019017265785784">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017265785787">
                    <property name="value" value="&lt;Constraint&gt;" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017265785779" />
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265785778">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265785788">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265785795">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265785790">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265785789" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017265785794">
                          <link role="link" targetNodeId="1.2229019017265337576" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2229019017265785799" />
                    </node>
                  </node>
                </node>
                <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="2229019017265785806">
                  <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265785807">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265785808">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017265785815">
                        <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2229019017265785818">
                          <property name="value" value="true" />
                        </node>
                        <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265785810">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265785809" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017265785814">
                            <link role="property" targetNodeId="1.2229019017265412910" resolveInfo="presenceConstraintVisible" />
                          </node>
                        </node>
                      </node>
                    </node>
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265785820">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017265785827">
                        <node role="rValue" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017265785830" />
                        <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265785822">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265785821" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017265785826">
                            <link role="property" targetNodeId="1.2229019017265412911" resolveInfo="preseneConstraint" />
                          </node>
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2229019017265785801" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017265785803">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265785805" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="2229019017265785772">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265785773">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265785774">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017265785775" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="2229019017266089799">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266089800">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266089801">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266089808">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266089803">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266089802" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017266089807">
                  <link role="link" targetNodeId="1.2229019017265337576" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="2229019017266089812" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2229019017265412905">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.5803918984628927443" resolveInfo="Constraint" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="2229019017265420738">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265420739">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265420740">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2229019017266092534">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="2229019017266092550">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092545">
                  <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2229019017266092543">
                    <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266092538">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266092537" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="2229019017266092542" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017266092549">
                    <link role="property" targetNodeId="1.2229019017265412910" resolveInfo="presenceConstraintVisible" />
                  </node>
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265420747">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265420742">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265420741" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="2229019017265420746" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="2229019017265420751">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="2229019017265420753">
                    <link role="conceptDeclaration" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2229019017265420754">
        <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="2229019017265420758">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017265420764" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="2229019017265420760">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265420761">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265420765">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2229019017265420766">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="2229019017265421782">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017265421784" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017265446663">
                      <property name="value" value="PRESENT" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017265446665">
                      <property name="value" value="ABSENT" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017265446667">
                      <property name="value" value="OPTIONAL" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="2229019017265420762">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265420763">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="2229019017265446674">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="2229019017265446675">
                  <property name="name" value="namedConstraint" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="2229019017265446676">
                    <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="2229019017265446679">
                    <link role="concept" targetNodeId="1.2229019017265055565" resolveInfo="NamedConstraint" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265446685">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017265446678" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="2229019017265446689" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265446691">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017265446698">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2229019017265446701">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265446693">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017265446692">
                      <link role="variableDeclaration" targetNodeId="2229019017265446675" resolveInfo="namedConstraint" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017265446697">
                      <link role="property" targetNodeId="1.2229019017265412910" resolveInfo="presenceConstraintVisible" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265446703">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017265446710">
                  <node role="rValue" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017265446713" />
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017265446705">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017265446704">
                      <link role="variableDeclaration" targetNodeId="2229019017265446675" resolveInfo="namedConstraint" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017265446709">
                      <link role="property" targetNodeId="1.2229019017265412911" resolveInfo="preseneConstraint" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017265446682">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="2229019017265446684">
                  <link role="variableDeclaration" targetNodeId="2229019017265446675" resolveInfo="namedConstraint" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="2229019017265446670">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017265446671">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017265446672">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017265446673" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2229019017266563475">
    <property name="name" value="InnerTypeConstraint_SelectConstraint" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2229019017266563476">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.3016143038560360785" resolveInfo="InnerTypeConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2229019017266563477">
        <link role="concept" targetNodeId="1.3016143038560360785" resolveInfo="InnerTypeConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="2229019017266563478">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017266563484" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="2229019017266563480">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266563481">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266563486">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="2229019017266563488">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="2229019017266565763">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="2229019017266565765" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266565767">
                      <property name="value" value="SingleTypeConstraint" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266565769">
                      <property name="value" value="MultipleTypeConstraints" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="2229019017266563482">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266563483">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="2229019017266565775">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="2229019017266565783">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="2229019017266565786">
                    <property name="value" value="SingleTypeConstraint" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017266565778" />
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266565777">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266565787">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565794">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565789">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266565788" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017266565793">
                          <link role="link" targetNodeId="1.3016143038560372984" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2229019017266565798" />
                    </node>
                  </node>
                </node>
                <node role="ifFalseStatement" type="jetbrains.mps.baseLanguage.structure.BlockStatement" id="2229019017266565808">
                  <node role="statements" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266565809">
                    <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266565810">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565817">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565812">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266565811" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017266565816">
                            <link role="link" targetNodeId="1.3016143038560372987" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="2229019017266565821" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="2229019017266565801" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017266565824">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266565826" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="2229019017266565771">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266565772">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266565773">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="2229019017266565774" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="2229019017266565827">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017266565828">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017266565829">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="2229019017266565842">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565851">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565846">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266565845" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017266565850">
                    <link role="link" targetNodeId="1.3016143038560372984" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="2229019017266565856" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565836">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017266565831">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017266565830" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2229019017266565835">
                    <link role="link" targetNodeId="1.3016143038560372987" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="2229019017266565840" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2229019017267884123">
    <property name="name" value="ExceptionSpec_AddType" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2229019017267884124">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.7534685045991855434" resolveInfo="ExceptionSpec" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2229019017267884125">
        <link role="concept" targetNodeId="1.7534685045991855434" resolveInfo="ExceptionSpec" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2229019017267884126">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2229019017267884127">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2229019017267884128">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2229019017267884130">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="2229019017267884137">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="2229019017267884140">
                    <property name="value" value="false" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2229019017267884132">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017267884131" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="2229019017267884136">
                      <link role="property" targetNodeId="1.2229019017267610002" resolveInfo="isIntegerValue" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="2229019017267884142">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2229019017267884144" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="946989413454548221">
            <property name="text" value=":" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7732518329894517429">
            <property name="text" value="add type" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="1066906251348416731">
    <property name="name" value="ObjectClassAssignmentFieldName" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="1066906251348416732">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1066906251350626154" resolveInfo="ObjectClassAssignmentFieldName" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="1066906251348416733">
        <link role="concept" targetNodeId="1.1066906251350626154" resolveInfo="ObjectClassAssignmentFieldName" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="1066906251348416734">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="1066906251348416735">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1066906251348416736">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1066906251349223742">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3328285038573638339">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1066906251349223744">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1066906251349223743" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3328285038574727318">
                      <link role="link" targetNodeId="1.1066906251350874862" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="3328285038573638347" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1066906251348416777">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1066906251348416779" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="1066906251348416737">
            <property name="text" value="." />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="3328285038575575385">
    <property name="name" value="ObjectClassFieldNameType" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="3328285038575575386">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.3328285038574269570" resolveInfo="ObjectClassFieldNameType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="3328285038575575387">
        <link role="concept" targetNodeId="1.3328285038574269570" resolveInfo="ObjectClassFieldNameType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="3328285038575575388">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="3328285038575575389">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3328285038575575390">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3328285038575575392">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3328285038575575399">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3328285038575575394">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="3328285038575575393" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="3328285038575575398">
                      <link role="link" targetNodeId="1.3328285038574282278" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="3328285038575575403" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="3328285038575575407">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="3328285038575575411" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="3328285038575575391">
            <property name="text" value="." />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="8251251793610874116">
    <property name="name" value="DefinitiveObjIdComponent" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="8251251793610874140">
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="8251251793610874152">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874153">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874154">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="8251251793610874155">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874158">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874157" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874162">
                  <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="8251251793610874163">
        <link role="concept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="8251251793610874164">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="8251251793610874165">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874166">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874168">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8251251793610874175">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8251251793610874178">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874170">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874169" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874174">
                      <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793610874180">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874182" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="8251251793610874167">
            <property name="text" value=")" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="8251251793610874183">
      <property name="transformTag" value="ext_2_RTransform" />
      <property name="side" value="left" />
      <link role="applicableConcept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="8251251793610874184">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874185">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874186">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="8251251793610874187">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874188">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874189" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874190">
                  <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="8251251793610874191">
        <link role="concept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="8251251793610874192">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="8251251793610874193">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874194">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874196">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8251251793610874197">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8251251793610874198">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874199">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874200" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874201">
                      <link role="property" targetNodeId="1.8251251793610874032" resolveInfo="isNamePresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793610874202">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874203" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="8251251793610874195">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="8251251793610874117">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="8251251793610874119">
        <link role="concept" targetNodeId="1.903970212124558172" resolveInfo="DefinitiveObjIdComponent" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="8251251793610874120">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="8251251793610874121">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874122">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874124">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8251251793610874131">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8251251793610874134">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874126">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874125" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874130">
                      <link role="property" targetNodeId="1.8251251793610874033" resolveInfo="isNumberPresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793610874136">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874138" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="8251251793610874123">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="8251251793610874141">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793610874142">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793610874143">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="8251251793610874150">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793610874145">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793610874144" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793610874149">
                  <link role="property" targetNodeId="1.8251251793610874033" resolveInfo="isNumberPresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="8251251793612036395">
    <property name="name" value="IVersionNumber" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="8251251793612036396">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.8251251793612036429" resolveInfo="IVersionNumber" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="8251251793612036409">
        <link role="concept" targetNodeId="1.1678051738092738017" resolveInfo="ExtensionAdditionGroup" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="8251251793612036410">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="8251251793612036411">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793612036412">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793612036414">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="8251251793612036421">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="8251251793612036424">
                    <property name="value" value="true" />
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612036416">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793612036415" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793612036433">
                      <link role="property" targetNodeId="1.8251251793612036430" resolveInfo="isVersionNumberPresent" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="8251251793612036426">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793612036428" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="8251251793612036413">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="8251251793612036397">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8251251793612036398">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8251251793612036399">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="8251251793612036406">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8251251793612036401">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8251251793612036400" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="8251251793612036432">
                  <link role="property" targetNodeId="1.8251251793612036430" resolveInfo="isVersionNumberPresent" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="7585540365179215325">
    <property name="name" value="ObjectSet" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7585540365179227661">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="7585540365179227664">
        <link role="concept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="7585540365179227665">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="7585540365179309581" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="7585540365179227667">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179227668">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="7827531065940930927">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="7827531065940930928">
                  <property name="name" value="result" />
                  <node role="type" type="jetbrains.mps.baseLanguage.collections.structure.ListType" id="7827531065940930929">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="7827531065940930931" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="7827531065940930933">
                    <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="7827531065940937076">
                      <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="7827531065940937078" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7827531065940930910">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065940930911">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065940937083">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937085">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7827531065940937084">
                        <link role="variableDeclaration" targetNodeId="7827531065940930928" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7827531065940937089">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7827531065940937093">
                          <property name="value" value="&lt;RootElementSetSpec&gt;" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7827531065940937176">
                  <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7827531065940937097">
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7827531065940937181">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="7827531065940937183">
                        <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" id="7827531065940937186">
                          <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7827531065940937194">
                            <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937198">
                              <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937197" />
                              <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7827531065940937202">
                                <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
                              </node>
                            </node>
                            <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937188">
                              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937189">
                                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937190" />
                                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940937191">
                                  <link role="link" targetNodeId="1.7585540365178904512" />
                                </node>
                              </node>
                              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="7827531065940937193" />
                            </node>
                          </node>
                        </node>
                        <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937106">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937101">
                            <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937100" />
                            <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940937105">
                              <link role="link" targetNodeId="1.7585540365178904512" />
                            </node>
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065940937110" />
                        </node>
                      </node>
                    </node>
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940930920">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940930915">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940930914" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940930919">
                          <link role="link" targetNodeId="1.7585540365178904511" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065940930924" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7827531065940937147" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7827531065940937112">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065940937113">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065940937139">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937140">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7827531065940937141">
                        <link role="variableDeclaration" targetNodeId="7827531065940930928" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7827531065940937142">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7827531065940937143">
                          <property name="value" value="..." />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7827531065940937128">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7827531065940937137">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937132">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937131" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7827531065940937136">
                        <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
                      </node>
                    </node>
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937123">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937118">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937117" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940937122">
                        <link role="link" targetNodeId="1.7585540365178904512" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" id="7827531065940937127" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7827531065940937168" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7827531065940937149">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065940937150">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065940937151">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937152">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7827531065940937153">
                        <link role="variableDeclaration" targetNodeId="7827531065940930928" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="7827531065940937154">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7827531065940937173">
                          <property name="value" value="&lt;AdditionalElementSetSpec&gt;" />
                        </node>
                      </node>
                    </node>
                  </node>
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1919761619488970387">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1919761619488970388">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="1919761619488970389">
                        <link role="variableDeclaration" targetNodeId="7827531065940930928" resolveInfo="result" />
                      </node>
                      <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" id="1919761619488970390">
                        <node role="argument" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="1919761619488970391">
                          <property name="value" value="..." />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7827531065941228679">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065941228688">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065941228683">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065941228682" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065941228687">
                        <link role="link" targetNodeId="1.7585540365178904512" />
                      </node>
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065941228693" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="7827531065940937156">
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937161">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937162">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937163" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940937169">
                          <link role="link" targetNodeId="1.7585540365178904511" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065940937170" />
                    </node>
                    <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.NotExpression" id="7827531065940937157">
                      <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940937158">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940937159" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7827531065940937160">
                          <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7827531065940937146" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7827531065940937080">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="7827531065940937082">
                  <link role="variableDeclaration" targetNodeId="7827531065940930928" resolveInfo="result" />
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="7585540365179227669">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179227670">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7585540365179412172">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179412173">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365179412181">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365179412182">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365179412183">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7585540365179412184" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7585540365179412185">
                          <link role="link" targetNodeId="1.7585540365178904511" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="7585540365179412186" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="7585540365179412177">
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365179412176" />
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365179412180">
                    <property name="value" value="&lt;RootElementSetSpec&gt;" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7585540365179412188" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7585540365179412190">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179412191">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365179412199">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="7585540365179412200">
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7585540365179412201">
                        <property name="value" value="true" />
                      </node>
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365179412202">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7585540365179412203" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7585540365179412204">
                          <link role="property" targetNodeId="1.7585540365178892319" resolveInfo="isExtensionMarkerPresent" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="7585540365179412195">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365179412198">
                    <property name="value" value="..." />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365179412194" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7585540365179412205" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7585540365179412207">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179412208">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365179412220">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365179412221">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7585540365179412222">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7585540365179412223" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7585540365179412224">
                          <link role="link" targetNodeId="1.7585540365178904512" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="7585540365179412225" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="7585540365179412216">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="7585540365179412219">
                    <property name="value" value="&lt;AdditionalElementSetSpec&gt;" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365179412211" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="7585540365179320744" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7585540365179320741">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7585540365179320743" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="7585540365179320709">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7585540365179320710">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7585540365179320711">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="7585540365179320712" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="7827531065940930893">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065940930894">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065940930897">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940930904">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065940930899">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065940930898" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065940930903">
                  <link role="link" targetNodeId="1.7585540365178904511" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065940930908" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7827531065941872945">
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="7827531065941872946">
        <link role="concept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="7827531065941872947">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="7827531065941872948">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065941872949">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065942223353">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223360">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223355">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065942223354" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065942223359">
                      <link role="link" targetNodeId="1.7585540365178904512" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="7827531065942223364" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7827531065941872964">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065941872966" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7827531065941872950">
            <property name="text" value="," />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="7827531065942223413">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065942223414">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065942223415">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223422">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223417">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065942223416" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065942223421">
                  <link role="link" targetNodeId="1.7585540365178904512" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065942223426" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7827531065942223366">
      <property name="side" value="left" />
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="7827531065942223367">
        <link role="concept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="7827531065942223368">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="7827531065942223369">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065942223370">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065942223372">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223379">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223374">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065942223373" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065942223378">
                      <link role="link" targetNodeId="1.7585540365178904511" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="7827531065942223383" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7827531065942223392">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065942223395" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7827531065942223371">
            <property name="text" value="," />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="7827531065942223397">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7827531065942223398">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7827531065942223400">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223407">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7827531065942223402">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7827531065942223401" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7827531065942223406">
                  <link role="link" targetNodeId="1.7585540365178904511" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="7827531065942223412" />
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="1609738566718946302">
    <property name="name" value="FieldName" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="1609738566718946303">
      <property name="transformTag" value="default_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="1609738566718951271">
        <link role="concept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="1609738566718951272">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="1609738566718951273">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="1609738566718951274">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="1609738566718951276">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1609738566718951283">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="1609738566718951278">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1609738566718951277" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="1609738566718951282">
                      <link role="link" targetNodeId="1.3328285038575861583" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="1609738566718951287" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="1609738566718951291">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="1609738566718951295" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="1609738566718951275">
            <property name="text" value="." />
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="6366208545134479311">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="6366208545134479312">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="6366208545134479313">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545134479320">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545134479315">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="6366208545134479314" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6366208545134479319">
                  <link role="link" targetNodeId="1.3328285038575861583" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="6366208545134479324" />
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328135597306">
      <link role="applicableConcept" targetNodeId="1.1872831763378182594" resolveInfo="FieldName" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="5248658328135597307">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="5248658328135597308">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328135597309">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328135597310">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328135597312">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328135597311" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="5248658328135597316" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="5195474082203477426">
    <property name="name" value="Tag" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5195474082203477427">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.2745703621026087743" resolveInfo="Tag" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5195474082203477428">
        <link role="concept" targetNodeId="1.2745703621026087743" resolveInfo="Tag" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="5195474082203477429">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="5195474082203477435" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="5195474082203477431">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203477432">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203477436">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5195474082203477437">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="5195474082203483580">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="5195474082203483582" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483584">
                      <property name="value" value="APPLICATION" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483586">
                      <property name="value" value="PRIVATE" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483588">
                      <property name="value" value="UNIVERSAL" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="5195474082203477433">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203477434">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203483636">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483646">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483641">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5195474082203483637" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5195474082203483645">
                      <link role="link" targetNodeId="1.673529951273773189" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="5195474082203483650" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5195474082203483652" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="5195474082203483598">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203483599">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203483611">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5195474082203483630">
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="5195474082203483633">
                        <property name="value" value="0" />
                      </node>
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483625">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483613">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5195474082203483612" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5195474082203483617">
                            <link role="link" targetNodeId="1.673529951273773189" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5195474082203483629">
                          <link role="property" targetNodeId="1.673529951273773185" resolveInfo="tagClass" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="5195474082203483607">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483610">
                    <property name="value" value="APPLICATION" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="5195474082203483602" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5195474082203483653" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="5195474082203483655">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203483656">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203483657">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5195474082203483658">
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483660">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483661">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5195474082203483662" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5195474082203483663">
                            <link role="link" targetNodeId="1.673529951273773189" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5195474082203483664">
                          <link role="property" targetNodeId="1.673529951273773185" resolveInfo="tagClass" />
                        </node>
                      </node>
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="5195474082203483668">
                        <property name="value" value="1" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="5195474082203483665">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483666">
                    <property name="value" value="PRIVATE" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="5195474082203483667" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5195474082203483669" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="5195474082203483671">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203483672">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203483673">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5195474082203483674">
                      <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483675">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5195474082203483676">
                          <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5195474082203483677" />
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5195474082203483678">
                            <link role="link" targetNodeId="1.673529951273773189" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5195474082203483679">
                          <link role="property" targetNodeId="1.673529951273773185" resolveInfo="tagClass" />
                        </node>
                      </node>
                      <node role="rValue" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="5195474082203483684">
                        <property name="value" value="2" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="5195474082203483681">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="5195474082203483682">
                    <property name="value" value="UNIVERSAL" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="5195474082203483683" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5195474082203483685" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5195474082203483596">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5195474082203483595" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="5195474082203483590">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5195474082203483591">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5195474082203483592">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="5195474082203483593" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9020003798797757860">
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.2745703621026087743" resolveInfo="Tag" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9020003798797757861">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797757862">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797757863">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797757870">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797757865">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9020003798797757864" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9020003798797757869" />
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9020003798797757874">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9020003798797757876">
                  <link role="conceptDeclaration" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9020003798797757877">
        <link role="concept" targetNodeId="1.2745703621026087743" resolveInfo="Tag" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="9020003798797757884">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="9020003798797757890" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="9020003798797757886">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797757887">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797757891">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9020003798797757892">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="9020003798797764035">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="9020003798797764037" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9020003798797764040">
                      <property name="value" value="IMPLICIT" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9020003798797764042">
                      <property name="value" value="EXPLICIT" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="9020003798797757888">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797757889">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9020003798797764053">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9020003798797764054">
                  <property name="name" value="taggedType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9020003798797764055">
                    <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="9020003798797764063">
                    <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764058">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9020003798797764057" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9020003798797764062" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797764096">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764097">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764098">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9020003798797764099">
                      <link role="variableDeclaration" targetNodeId="9020003798797764054" resolveInfo="taggedType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9020003798797764100">
                      <link role="link" targetNodeId="1.673529951272844892" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9020003798797764101" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9020003798797764103" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9020003798797764146">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797764147">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797764148">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764149">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764150">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764151">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9020003798797764152">
                            <link role="variableDeclaration" targetNodeId="9020003798797764054" resolveInfo="taggedType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9020003798797764153">
                            <link role="link" targetNodeId="1.673529951272844892" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798797764154">
                          <link role="property" targetNodeId="1.673529951272844887" resolveInfo="tagType" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9020003798797764155">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="9020003798797764156">
                          <property name="value" value="0" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9020003798797764157">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9020003798797764158">
                    <property name="value" value="EXPLICIT" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9020003798797764159" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9020003798797764160" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9020003798797764067">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797764068">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797764104">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764119">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764111">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9020003798797764106">
                          <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9020003798797764105">
                            <link role="variableDeclaration" targetNodeId="9020003798797764054" resolveInfo="taggedType" />
                          </node>
                          <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9020003798797764110">
                            <link role="link" targetNodeId="1.673529951272844892" />
                          </node>
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9020003798797764115">
                          <link role="property" targetNodeId="1.673529951272844887" resolveInfo="tagType" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9020003798797764123">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.IntegerConstant" id="9020003798797764125">
                          <property name="value" value="1" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9020003798797764072">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9020003798797764075">
                    <property name="value" value="IMPLICIT" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9020003798797764071" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9020003798797764141" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9020003798797764048">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9020003798797764050" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="9020003798797764044">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9020003798797764045">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9020003798797764046">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9020003798797764047" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="946989413457827357">
    <property name="name" value="BinaryOperations" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="946989413457827358">
      <link role="applicableConcept" targetNodeId="1.1046849219940876070" resolveInfo="IElementSetSpec" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.ConceptRightTransformPart" id="946989413457827360">
        <link role="concept" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
        <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_ConceptHandler" id="946989413457827361">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="946989413457827362">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="946989413457827363">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="946989413457827364">
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="946989413457827365">
                  <node role="replacementNode" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="946989413457827366" />
                </node>
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="946989413457827367" />
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="946989413457827368">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="946989413457827369">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="946989413457827370">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="946989413457827371" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="946989413457827379">
                    <link role="link" targetNodeId="1.946989413454767075" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="946989413457827373">
                  <node role="linkTarget" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="946989413457827374" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="946989413457827375">
              <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="946989413457827376" />
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315508238110">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315508238111">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315508238115">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="6366208545137761083">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545137761092">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545137761087">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="6366208545137761086" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="6366208545137761091" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="6366208545137761096">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="6366208545137761098">
                    <link role="conceptDeclaration" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
                  </node>
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="4208300936836224562">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="9152698315508238130">
                  <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238123">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238118">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315508238117" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315508238122" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315508238127">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315508238129">
                        <link role="conceptDeclaration" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecification" />
                      </node>
                    </node>
                  </node>
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238139">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238134">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315508238133" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315508238138" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315508238143">
                      <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315508238145">
                        <link role="conceptDeclaration" targetNodeId="1.1046849219940876070" resolveInfo="IElementSetSpecification" />
                      </node>
                    </node>
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4208300936836224571">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4208300936836224566">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4208300936836224565" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="4208300936836224570" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4208300936836224575">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4208300936836224577">
                      <link role="conceptDeclaration" targetNodeId="1.5803918984628927443" resolveInfo="Constraint" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7414052785643887292">
      <property name="side" value="left" />
      <link role="applicableConcept" targetNodeId="1.1046849219940876070" resolveInfo="IElementSetSpecification" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.ConceptRightTransformPart" id="7414052785643887293">
        <link role="concept" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
        <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_ConceptHandler" id="7414052785643887294">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7414052785643887295">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7414052785643887300">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785643887302">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7414052785643887301" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="7414052785643887306">
                  <node role="replacementNode" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="7414052785643887308" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7414052785643887310">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785643887317">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785643887312">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="7414052785643887311" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7414052785643887316">
                    <link role="link" targetNodeId="1.946989413454767076" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="7414052785643887321">
                  <node role="linkTarget" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7414052785643887324" />
                </node>
              </node>
            </node>
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7414052785643887296">
              <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_result" id="7414052785643887298" />
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315508238146">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315508238147">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315508238149">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="6366208545137761099">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545137761110">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6366208545137761104">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="6366208545137761103" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="6366208545137761109" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="6366208545137761114">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="6366208545137761116">
                    <link role="conceptDeclaration" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
                  </node>
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.OrExpression" id="9152698315508238150">
                <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238157">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238158">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315508238159" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315508238160" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315508238161">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315508238162">
                      <link role="conceptDeclaration" targetNodeId="1.1046849219940876062" resolveInfo="ElementSetSpecification" />
                    </node>
                  </node>
                </node>
                <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238151">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315508238152">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315508238153" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315508238154" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315508238155">
                    <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315508238156">
                      <link role="conceptDeclaration" targetNodeId="1.1046849219940876070" resolveInfo="IElementSetSpecification" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeFactories" id="7414052785647238584">
    <property name="name" value="Factories" />
    <node role="nodeFactory" type="jetbrains.mps.lang.actions.structure.NodeFactory" id="7414052785647238585">
      <link role="applicableConcept" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
      <node role="setupFunction" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction" id="7414052785647238586">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7414052785647238587">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="7414052785647334084">
            <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334088">
              <node role="operand" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction_SampleNode" id="7414052785647334087" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="7414052785647334092">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="7414052785647334094">
                  <link role="conceptDeclaration" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
                </node>
              </node>
            </node>
            <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7414052785647334086">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7414052785647334098">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334105">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334100">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction_NewNode" id="7414052785647334099" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7414052785647334104">
                      <link role="link" targetNodeId="1.946989413454767075" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="7414052785647334109">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334118">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="7414052785647334114">
                        <link role="concept" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
                        <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction_SampleNode" id="7414052785647334112" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7414052785647334123">
                        <link role="link" targetNodeId="1.946989413454767075" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7414052785647334126">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334133">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334128">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction_NewNode" id="7414052785647334127" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7414052785647334132">
                      <link role="link" targetNodeId="1.946989413454767076" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="7414052785647334137">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7414052785647334146">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="7414052785647334142">
                        <link role="concept" targetNodeId="1.946989413454767068" resolveInfo="BinaryOperation" />
                        <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.NodeSetupFunction_SampleNode" id="7414052785647334140" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7414052785647334151">
                        <link role="link" targetNodeId="1.946989413454767076" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="9152698315507543681">
    <property name="name" value="CollectionOfValue" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315507543683">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.4135453859681616356" resolveInfo="CollectionOfValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315507543684">
        <link role="concept" targetNodeId="1.4135453859681616356" resolveInfo="CollectionOfValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="9152698315507543685">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315507543686" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="9152698315507543687">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543688">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315507543689">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315507543690">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="9152698315507543691">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315507543692" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507543693">
                      <property name="value" value="ValueList" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507543694">
                      <property name="value" value="NamedValueList" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="9152698315507543695">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543696">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315507543697">
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315507543698">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507543699">
                    <property name="value" value="ValueList" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507543700" />
                </node>
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543701">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507543702">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543703">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543704">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507543705" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681699087">
                          <link role="link" targetNodeId="1.4135453859681628547" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="9152698315507543707" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315507543708" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315507543709">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543710">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507543711">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543712">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543713">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507543714" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681699089">
                          <link role="link" targetNodeId="1.4135453859681628548" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="9152698315507543716" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315507543717">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507543718">
                    <property name="value" value="NamedValueList" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507543719" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315507543720" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315507543721">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507543722" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="9152698315507543723">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543724">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507543725">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507543726" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315507543727">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507543728">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507543729">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315507543730">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543731">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543732">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507543733" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681699086">
                    <link role="link" targetNodeId="1.4135453859681628547" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="9152698315507543735" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543736">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507543737">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507543738" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="4135453859681699085">
                    <link role="link" targetNodeId="1.4135453859681628548" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="9152698315507543740" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="9152698315507915901">
    <property name="name" value="ICollectionOfType" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315525226236">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.2917342674764100115" resolveInfo="SetOfType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315525226237">
        <link role="concept" targetNodeId="1.5803918984631594917" resolveInfo="SetOfConstraintType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="9152698315525226238">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="9152698315525226239">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315525226240">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315525226241">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315525226242">
                  <property name="name" value="setOfConstraintType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315525226243">
                    <link role="concept" targetNodeId="1.5803918984631594917" resolveInfo="SetOfConstraintType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315525226244">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="9152698315525226245">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315525226246">
                        <link role="concept" targetNodeId="1.5803918984631594917" resolveInfo="SetOfConstraintType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525226247">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525226248">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525226249" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="9152698315525226250">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525226251">
                      <link role="variableDeclaration" targetNodeId="9152698315525226242" resolveInfo="setOfConstraintType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315525226252" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525226253">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315525226254">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525226255">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525226256" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203300">
                      <link role="link" targetNodeId="1.1048767958318909865" />
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525226258">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525226259">
                      <link role="variableDeclaration" targetNodeId="9152698315525226242" resolveInfo="setOfConstraintType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203301">
                      <link role="link" targetNodeId="1.1048767958318909865" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525226261">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315525226262">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525226263">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525226264" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203303">
                      <link role="link" targetNodeId="1.1048767958318909866" />
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525226266">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525226267">
                      <link role="variableDeclaration" targetNodeId="9152698315525226242" resolveInfo="setOfConstraintType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203302">
                      <link role="link" targetNodeId="1.1048767958318909866" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315525226269" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315525226270">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525226271">
                  <link role="variableDeclaration" targetNodeId="9152698315525226242" resolveInfo="setOfConstraintType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="9152698315525226272">
            <property name="text" value="()" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7732518329894517438">
            <property name="text" value="add constraint" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315525535207">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.5982802075657960504" resolveInfo="SequenceOfType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315525535209">
        <link role="concept" targetNodeId="1.5982802075657960504" resolveInfo="SequenceOfType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="9152698315525535210">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="9152698315525535211">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315525535212">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315525535215">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315525535216">
                  <property name="name" value="setOfConstraintType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315525535217">
                    <link role="concept" targetNodeId="1.5803918984631594956" resolveInfo="SequenceOfConstraintType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315525535218">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="9152698315525535219">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315525535220">
                        <link role="concept" targetNodeId="1.5803918984631594956" resolveInfo="SequenceOfConstraintType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525535221">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525535222">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525535223" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="9152698315525535224">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525535225">
                      <link role="variableDeclaration" targetNodeId="9152698315525535216" resolveInfo="setOfConstraintType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315525535226" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525535227">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315525535228">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525535229">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525535230" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203305">
                      <link role="link" targetNodeId="1.1048767958318909865" />
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525535232">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525535233">
                      <link role="variableDeclaration" targetNodeId="9152698315525535216" resolveInfo="setOfConstraintType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203304">
                      <link role="link" targetNodeId="1.1048767958318909865" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315525535235">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="9152698315525535236">
                  <node role="rValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525535237">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315525535238" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203306">
                      <link role="link" targetNodeId="1.1048767958318909866" />
                    </node>
                  </node>
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315525535240">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525535241">
                      <link role="variableDeclaration" targetNodeId="9152698315525535216" resolveInfo="setOfConstraintType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203307">
                      <link role="link" targetNodeId="1.1048767958318909866" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315525535243" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315525535244">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315525535245">
                  <link role="variableDeclaration" targetNodeId="9152698315525535216" resolveInfo="setOfConstraintType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="9152698315525535213">
            <property name="text" value="()" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7732518329894517439">
            <property name="text" value="add constraint" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315507915936">
      <property name="transformTag" value="ext_2_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1048767958318909864" resolveInfo="ICollectionOfType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315507915937">
        <link role="concept" targetNodeId="1.1048767958318909864" resolveInfo="ICollectionOfType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="9152698315507915938">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315507915939" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="9152698315507915940">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915941">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507915942">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315507915943">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="9152698315507915944">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315507915945" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507915946">
                      <property name="value" value="Type" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507915947">
                      <property name="value" value="NamedType" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="9152698315507915948">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915949">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315507915950">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915951">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507915952">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915953">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915954">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507915955" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2603314242748645252">
                          <link role="link" targetNodeId="1.1048767958318909866" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315507915957" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315507915958">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507915959">
                    <property name="value" value="Type" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507915960" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315507915961" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315507915962">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915963">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507915964">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915965">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915966">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507915967" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2603314242748645254">
                          <link role="link" targetNodeId="1.1048767958318909865" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315507915969" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315507915970">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315507915971">
                    <property name="value" value="NamedType" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507915972" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315507915973" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315507915974">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507915975" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="9152698315507915976">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915977">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507915978">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315507915979" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315507915980">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315507915981">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315507915982">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315507915983">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915984">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915985">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507915986" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203309">
                    <link role="link" targetNodeId="1.1048767958318909866" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315507915988" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915989">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315507915990">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315507915991" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="7323414590763203308">
                    <link role="link" targetNodeId="1.1048767958318909865" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315507915993" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="9152698315509626506">
    <property name="name" value="ComponentTypeList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315509638842">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315509725720">
        <link role="concept" targetNodeId="1.6781117154622660736" resolveInfo="ComponentTypeList" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="9152698315509725721">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315509725727" />
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="9152698315509725723">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509725724">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315509725728">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315509725729">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="9152698315509731872">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315509731874" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315509731876">
                      <property name="value" value="RootComponentTypeList" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315509731878">
                      <property name="value" value="ExtensionAndException" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="9152698315509725725">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509725726">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315509731892">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509731893">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315509731902">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731909">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731904">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315509731903" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661766">
                          <link role="link" targetNodeId="1.6781117154622660738" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="9152698315509731913" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315509731897">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315509731900">
                    <property name="value" value="RootComponentTypeList" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315509731896" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315509731915" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315509731917">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509731918">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315509731926">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731934">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731928">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315509731927" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661768">
                          <link role="link" targetNodeId="1.6781117154622660739" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" id="9152698315509731938" />
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315509731922">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315509731925">
                    <property name="value" value="ExtensionAndException" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315509731921" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315509731901" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315509731888">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315509731890" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="9152698315509731880">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509731881">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315509731882">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315509731883" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315509731940">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315509731941">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315509731942">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315509731956">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731965">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731960">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315509731959" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="6781117154622661765">
                    <link role="link" targetNodeId="1.6781117154622660739" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="9152698315509731969" />
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="6781117154622661771">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315509731946">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315509731945" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661770">
                    <link role="link" targetNodeId="1.6781117154622660738" />
                  </node>
                </node>
                <node role="operation" type="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" id="6781117154622661775" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="9152698315512589077">
    <property name="name" value="ASNType" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315512589078">
      <property name="description" value="Add &quot;OPTIONAL&quot; or &quot;DEFAULT&quot; for NamedType in ComponentType" />
      <link role="applicableConcept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315512589080">
        <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.ParameterizedSideTransformMenuPart" id="9152698315512589082">
          <node role="type" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315512589088" />
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Handler" id="9152698315512589086">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315512589087">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315513182345">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315513182346">
                  <property name="name" value="componentType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315513182347">
                    <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="9152698315513182366">
                    <link role="concept" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
                    <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182357">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182351">
                        <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315513182350" />
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315513182356" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315513182361" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315513310033" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315512595252">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315512595253">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315513182369">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182376">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182371">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315513182370">
                          <link role="variableDeclaration" targetNodeId="9152698315513182346" resolveInfo="componentType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315513182375">
                          <link role="property" targetNodeId="1.9152698315512589067" resolveInfo="isOptional" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9152698315513182380">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="9152698315513182382">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315512595257">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315512595260">
                    <property name="value" value="OPTIONAL" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315512595256" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="9152698315513310034" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.IfStatement" id="9152698315513310036">
                <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315513310037">
                  <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315513310038">
                    <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513310039">
                      <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513310040">
                        <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315513310041">
                          <link role="variableDeclaration" targetNodeId="9152698315513182346" resolveInfo="componentType" />
                        </node>
                        <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="9152698315513310048">
                          <link role="property" targetNodeId="1.9152698315513297811" resolveInfo="isDefaultValuePresent" />
                        </node>
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="9152698315513310043">
                        <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="9152698315513310044">
                          <property name="value" value="true" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
                <node role="condition" type="jetbrains.mps.baseLanguage.structure.EqualsExpression" id="9152698315513310045">
                  <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315513310046">
                    <property name="value" value="DEFAULT" />
                  </node>
                  <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315513310047" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315512595248">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315512595250" />
              </node>
            </node>
          </node>
          <node role="query" type="jetbrains.mps.lang.actions.structure.QueryFunction_ParameterizedSideTransform_Query" id="9152698315512589091">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315512589092">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315512589093">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315512589094">
                  <node role="creator" type="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" id="9152698315512595237">
                    <node role="elementType" type="jetbrains.mps.baseLanguage.structure.StringType" id="9152698315512595239" />
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315512595241">
                      <property name="value" value="OPTIONAL" />
                    </node>
                    <node role="initValue" type="jetbrains.mps.baseLanguage.structure.StringLiteral" id="9152698315512595243">
                      <property name="value" value="DEFAULT" />
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_String" id="9152698315512595244">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315512595245">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315512595246">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parameterObject" id="9152698315512595247" />
              </node>
            </node>
          </node>
        </node>
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstitutePreconditionFunction" id="9152698315513182256">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315513182257">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315513182312">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.AndExpression" id="9152698315513182323">
              <node role="rightExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182337">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182332">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182327">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315513182326" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315513182331" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315513182336" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315513182341">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315513182343">
                    <link role="conceptDeclaration" targetNodeId="1.5108187754403599129" resolveInfo="ComponentType" />
                  </node>
                </node>
              </node>
              <node role="leftExpression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182313">
                <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513182315">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315513182316" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="9152698315513182317" />
                </node>
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="9152698315513182319">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="9152698315513182322">
                    <link role="conceptDeclaration" targetNodeId="1.7534685045991864887" resolveInfo="NamedType" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315513629698">
      <property name="side" value="left" />
      <link role="applicableConcept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315513629700">
        <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="9152698315513629701">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="9152698315513629702">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315513629703">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315513629705">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315513629706">
                  <property name="name" value="taggedType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315513629707">
                    <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315513629709">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="9152698315513635852">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315513635853">
                        <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315513825686">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513825687">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315513825688" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="9152698315513825689">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315513825690">
                      <link role="variableDeclaration" targetNodeId="9152698315513629706" resolveInfo="taggedType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315513635859">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513825691">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315513635861">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315513635860">
                      <link role="variableDeclaration" targetNodeId="9152698315513629706" resolveInfo="taggedType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9152698315513635865">
                      <link role="link" targetNodeId="1.7738428319181554506" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="9152698315513825695">
                    <node role="linkTarget" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="9152698315513825698" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315513635855">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315513635857">
                  <link role="variableDeclaration" targetNodeId="9152698315513629706" resolveInfo="taggedType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="9152698315513629704">
            <property name="text" value="[]" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="9152698315514157937">
      <link role="applicableConcept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="9152698315514157938">
        <link role="concept" targetNodeId="1.1046849219940876040" resolveInfo="ConstrainedType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="9152698315514157939">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="9152698315514157940">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="9152698315514157941">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="9152698315514157943">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="9152698315514157944">
                  <property name="name" value="constrainedType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315514157945">
                    <link role="concept" targetNodeId="1.1046849219940876040" resolveInfo="ConstrainedType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="9152698315514157947">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="9152698315514164090">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="9152698315514164091">
                        <link role="concept" targetNodeId="1.1046849219940876040" resolveInfo="ConstrainedType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3453644556577141244" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="256349686874794812">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="256349686874794813">
                  <property name="name" value="replaceType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="256349686874794814">
                    <link role="concept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.TernaryOperatorExpression" id="256349686874794824">
                    <node role="ifTrue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686874794832">
                      <node role="operand" type="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" id="256349686874794830">
                        <link role="concept" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                        <node role="leftExpression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="256349686874794829" />
                      </node>
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="256349686874794836">
                        <link role="link" targetNodeId="1.7738428319181554506" />
                      </node>
                    </node>
                    <node role="ifFalse" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="256349686874794837" />
                    <node role="condition" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686874794817">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="256349686874794816" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="256349686874794821">
                        <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="256349686874794823">
                          <link role="conceptDeclaration" targetNodeId="1.5556232275416482087" resolveInfo="TaggedType" />
                        </node>
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="256349686874794838">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="256349686874794840">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="256349686874794839">
                    <link role="variableDeclaration" targetNodeId="256349686874794813" resolveInfo="replaceType" />
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="256349686874794844">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="256349686874794846">
                      <link role="variableDeclaration" targetNodeId="9152698315514157944" resolveInfo="constrainedType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="9152698315514164109">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315514164116">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="9152698315514164111">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315514164110">
                      <link role="variableDeclaration" targetNodeId="9152698315514157944" resolveInfo="constrainedType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="9152698315514164115">
                      <link role="link" targetNodeId="1.1046849219940876043" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="9152698315514164120">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="256349686874794847">
                      <link role="variableDeclaration" targetNodeId="256349686874794813" resolveInfo="replaceType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="3453644556577141245" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="9152698315514164093">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="9152698315514164096">
                  <link role="variableDeclaration" targetNodeId="9152698315514157944" resolveInfo="constrainedType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="9152698315514157942">
            <property name="text" value="()" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="256349686874931990">
            <property name="text" value="add constraint" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="9152698315514512395">
    <property name="name" value="Constraint" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="3452212975936449356">
      <link role="applicableConcept" targetNodeId="1.5803918984628927443" resolveInfo="Constraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="3452212975936449357">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="3452212975936449358">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="3452212975936449359">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="3452212975936449360">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="3452212975936449361">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="3452212975936449362" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="3452212975936449363" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4534048328788407682">
    <property name="name" value="ModuleDefinition" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4534048328788407684">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4534048328788407685">
        <link role="concept" targetNodeId="1.903970212124558174" resolveInfo="ModuleDefinition" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4534048328788407686">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4534048328788407687">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328788407688">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4534048328788407691">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328788615078">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328788615073">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4534048328788407692" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4534048328788615077">
                      <link role="property" targetNodeId="1.4534048328788615059" resolveInfo="isModuleTagsVisible" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4534048328788615082">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4534048328788615084">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4534048328788407706">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4534048328788407710" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4534048328788407690">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="4534048328789997181">
    <property name="package" value="substitutions" />
    <property name="name" value="LowerAndUpperPoints" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4534048328790048536">
      <link role="applicableConcept" targetNodeId="1.5803918984630072260" resolveInfo="LowerEndPoint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4534048328790048537">
        <link role="concept" targetNodeId="1.5803918984630072260" resolveInfo="LowerEndPoint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4534048328790048538">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4534048328790048539">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328790048540">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4534048328790048542">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4534048328790048543">
                  <property name="name" value="endPoint" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4534048328790048544">
                    <link role="concept" targetNodeId="1.5803918984630072260" resolveInfo="LowerEndPoint" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4534048328790048546">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4534048328790054689">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4534048328790054690">
                        <link role="concept" targetNodeId="1.5803918984630072260" resolveInfo="LowerEndPoint" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4534048328790054696">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328790130014">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328790054698">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4534048328790054697">
                      <link role="variableDeclaration" targetNodeId="4534048328790048543" resolveInfo="endPoint" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4534048328790054702">
                      <link role="property" targetNodeId="1.3016143038557757290" resolveInfo="isMinValue" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4534048328790130018">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4534048328790130020">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4534048328790054692">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4534048328790054694">
                  <link role="variableDeclaration" targetNodeId="4534048328790048543" resolveInfo="endPoint" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4534048328790048541">
            <property name="text" value="MIN" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4534048328789997182">
      <link role="applicableConcept" targetNodeId="1.5803918984630072282" resolveInfo="UpperEndPoint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4534048328789997183">
        <link role="concept" targetNodeId="1.5803918984630072282" resolveInfo="UpperEndPoint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleItemSubstitutePart" id="4534048328789997184">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_Substitute_Handler" id="4534048328789997185">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4534048328789997186">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="4534048328789997188">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="4534048328789997189">
                  <property name="name" value="endPoint" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4534048328789997190">
                    <link role="concept" targetNodeId="1.5803918984630072282" resolveInfo="UpperEndPoint" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="4534048328789997192">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="4534048328790003335">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="4534048328790003336">
                        <link role="concept" targetNodeId="1.5803918984630072282" resolveInfo="UpperEndPoint" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4534048328790003342">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328790003349">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4534048328790003344">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4534048328790003343">
                      <link role="variableDeclaration" targetNodeId="4534048328789997189" resolveInfo="endPoint" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4534048328790003348">
                      <link role="property" targetNodeId="1.3016143038558477447" resolveInfo="isMaxValue" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4534048328790003353">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4534048328790003355">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4534048328790003338">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="4534048328790003340">
                  <link role="variableDeclaration" targetNodeId="4534048328789997189" resolveInfo="endPoint" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.Substitute_SimpleString" id="4534048328789997187">
            <property name="text" value="MAX" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="5248658328129929612">
    <property name="name" value="AddParameterList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328129929613">
      <link role="applicableConcept" targetNodeId="1.3310844120966785236" resolveInfo="DefinedObjectSet" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328129929614">
        <link role="concept" targetNodeId="1.3310844120966785236" resolveInfo="DefinedObjectSet" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328129929615">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328129929616">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328129929617">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328129929619">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328129929620">
                  <property name="name" value="parameterizedObjectSet" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328129929621">
                    <link role="concept" targetNodeId="1.1839742443506153671" resolveInfo="ParameterizedObjectSet" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328129929623">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328129935766">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328129935767">
                        <link role="concept" targetNodeId="1.1839742443506153671" resolveInfo="ParameterizedObjectSet" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328130903758">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328130903759">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328130903760" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328130903761">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328130903762">
                      <link role="variableDeclaration" targetNodeId="5248658328129929620" resolveInfo="parameterizedObjectSet" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328129935775">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.AssignmentExpression" id="5248658328130979100">
                  <node role="rValue" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328130979103" />
                  <node role="lValue" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328129935777">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328129935776">
                      <link role="variableDeclaration" targetNodeId="5248658328129929620" resolveInfo="parameterizedObjectSet" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328129935781">
                      <link role="link" targetNodeId="1.1839742443506153673" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328129935769">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328129935772" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328129929618">
            <property name="text" value="{}" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328130979104">
            <property name="text" value="add parameter list" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328130979074">
      <link role="applicableConcept" targetNodeId="1.1161031609608070240" resolveInfo="SimpleDefinedType" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328130979075">
        <link role="concept" targetNodeId="1.6716628601968810582" resolveInfo="ParameterType" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328130979076">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328130979077">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328130979078">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328130979079">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328130979080">
                  <property name="name" value="parameterizedType" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328130979081">
                    <link role="concept" targetNodeId="1.8492289956116482832" resolveInfo="ParameterizedType" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328130979082">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328130979083">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328130979084">
                        <link role="concept" targetNodeId="1.8492289956116482832" resolveInfo="ParameterizedType" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328130979085">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328130979086">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328130979087" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328130979088">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328130979089">
                      <link role="variableDeclaration" targetNodeId="5248658328130979080" resolveInfo="parameterizedType" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328130979090">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8576635178873846598">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328130979093">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328130979094">
                      <link role="variableDeclaration" targetNodeId="5248658328130979080" resolveInfo="parameterizedType" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328130979095">
                      <link role="link" targetNodeId="1.8492289956116482834" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="8576635178873846602">
                    <node role="linkTarget" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8576635178873846605" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328130979096">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="1048767958317393538">
                  <link role="variableDeclaration" targetNodeId="5248658328130979080" resolveInfo="parameterizedType" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328130979098">
            <property name="text" value="{}" />
          </node>
          <node role="descriptionText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328130979099">
            <property name="text" value="add parameter list" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192424">
      <link role="applicableConcept" targetNodeId="1.1161031609608668751" resolveInfo="SimpleDefinedValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192425">
        <link role="concept" targetNodeId="1.1161031609608668751" resolveInfo="SimpleDefinedValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192426">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192427">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192428">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192429">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192430">
                  <property name="name" value="parameterizedValue" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192431">
                    <link role="concept" targetNodeId="1.7401774347124400034" resolveInfo="ParameterizedValue" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192432">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192433">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192434">
                        <link role="concept" targetNodeId="1.7401774347124400034" resolveInfo="ParameterizedValue" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192435">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192436">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192437" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192438">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192439">
                      <link role="variableDeclaration" targetNodeId="5248658328134192430" resolveInfo="parameterizedValue" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192440" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192441">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192442">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192443">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192444">
                      <link role="variableDeclaration" targetNodeId="5248658328134192430" resolveInfo="parameterizedValue" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192445">
                      <link role="link" targetNodeId="1.7401774347126567123" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192446">
                    <node role="linkTarget" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192447" />
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192448">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192449" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192450">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192476">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1609738566719872837" resolveInfo="IObjectAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192477">
        <link role="concept" targetNodeId="1.1839742443506896981" resolveInfo="ParameterizedObjectAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192478">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192479">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192480">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192481">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192482">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192483">
                    <link role="concept" targetNodeId="1.1839742443506896981" resolveInfo="ParameterizedObjectAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192484">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192485">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192486">
                        <link role="concept" targetNodeId="1.1839742443506896981" resolveInfo="ParameterizedObjectAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192487">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192488">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192489" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192490">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192491">
                      <link role="variableDeclaration" targetNodeId="5248658328134192482" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192492" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192493">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192494">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192495">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192496">
                      <link role="variableDeclaration" targetNodeId="5248658328134192482" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192497">
                      <link role="property" targetNodeId="1.9152698315526579982" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192498">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192499">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192500">
                        <link role="property" targetNodeId="1.9152698315526579982" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192501" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192502">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192503">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192504">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192505">
                      <link role="variableDeclaration" targetNodeId="5248658328134192482" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192506">
                      <link role="link" targetNodeId="1.9152698315526579981" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192507">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192508">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192509" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192510">
                        <link role="link" targetNodeId="1.9152698315526579981" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192511">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192512">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192513">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192514">
                      <link role="variableDeclaration" targetNodeId="5248658328134192482" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192515">
                      <link role="link" targetNodeId="1.9152698315526579980" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192516">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192517">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192518" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192519">
                        <link role="link" targetNodeId="1.9152698315526579980" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192520" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192521">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192522">
                  <link role="variableDeclaration" targetNodeId="5248658328134192482" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192523">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192524">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.4056456322104692297" resolveInfo="IObjectClassAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192525">
        <link role="concept" targetNodeId="1.1839742443506896963" resolveInfo="ParameterizedObjectClassAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192526">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192527">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192528">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192529">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192530">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192531">
                    <link role="concept" targetNodeId="1.1839742443506896963" resolveInfo="ParameterizedObjectClassAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192532">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192533">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192534">
                        <link role="concept" targetNodeId="1.1839742443506896963" resolveInfo="ParameterizedObjectClassAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192535">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192536">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192537" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192538">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192539">
                      <link role="variableDeclaration" targetNodeId="5248658328134192530" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192540" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192541">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192542">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192543">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192544">
                      <link role="variableDeclaration" targetNodeId="5248658328134192530" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192545">
                      <link role="property" targetNodeId="1.9152698315526568954" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192546">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192547">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192548">
                        <link role="property" targetNodeId="1.9152698315526568954" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192549" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192550">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192551">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192552">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192553">
                      <link role="variableDeclaration" targetNodeId="5248658328134192530" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192554">
                      <link role="link" targetNodeId="1.9152698315526568955" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192555">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192556">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192557" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192558">
                        <link role="link" targetNodeId="1.9152698315526568955" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192559" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192560">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192561">
                  <link role="variableDeclaration" targetNodeId="5248658328134192530" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192562">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192563">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1609738566719856098" resolveInfo="IObjectSetAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192564">
        <link role="concept" targetNodeId="1.1839742443506897002" resolveInfo="ParameterizedObjectSetAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192565">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192566">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192567">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192568">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192569">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192570">
                    <link role="concept" targetNodeId="1.1839742443506897002" resolveInfo="ParameterizedObjectSetAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192571">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192572">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192573">
                        <link role="concept" targetNodeId="1.1839742443506897002" resolveInfo="ParameterizedObjectSetAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192574">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192575">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192576" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192577">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192578">
                      <link role="variableDeclaration" targetNodeId="5248658328134192569" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192579" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192580">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192581">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192582">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192583">
                      <link role="variableDeclaration" targetNodeId="5248658328134192569" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192584">
                      <link role="property" targetNodeId="1.9152698315526580005" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192585">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192586">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192587">
                        <link role="property" targetNodeId="1.9152698315526580005" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192588" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192589">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192590">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192591">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192592">
                      <link role="variableDeclaration" targetNodeId="5248658328134192569" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192593">
                      <link role="link" targetNodeId="1.9152698315526580003" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192594">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192595">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192596" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192597">
                        <link role="link" targetNodeId="1.9152698315526580003" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192598">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192599">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192600">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192601">
                      <link role="variableDeclaration" targetNodeId="5248658328134192569" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192602">
                      <link role="link" targetNodeId="1.9152698315526580004" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192603">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192604">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192605" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192606">
                        <link role="link" targetNodeId="1.9152698315526580004" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192607" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192608">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192609">
                  <link role="variableDeclaration" targetNodeId="5248658328134192569" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192610">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192611">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.4056456322104744037" resolveInfo="ITypeAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192612">
        <link role="concept" targetNodeId="1.1839742443506681632" resolveInfo="ParameterizedTypeAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192613">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192614">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192615">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192616">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192617">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192618">
                    <link role="concept" targetNodeId="1.1839742443506681632" resolveInfo="ParameterizedTypeAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192619">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192620">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192621">
                        <link role="concept" targetNodeId="1.1839742443506681632" resolveInfo="ParameterizedTypeAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192622">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192623">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192624" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192625">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192626">
                      <link role="variableDeclaration" targetNodeId="5248658328134192617" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192627" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192628">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192629">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192630">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192631">
                      <link role="variableDeclaration" targetNodeId="5248658328134192617" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192632">
                      <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192633">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192634">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192635">
                        <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192636" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192637">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192638">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192639">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192640">
                      <link role="variableDeclaration" targetNodeId="5248658328134192617" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192641">
                      <link role="link" targetNodeId="1.9087026269843019313" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192642">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192643">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192644" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192645">
                        <link role="link" targetNodeId="1.9087026269843019313" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192646" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192647">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192648">
                  <link role="variableDeclaration" targetNodeId="5248658328134192617" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192649">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192650">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.9152698315526457500" resolveInfo="IValueAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192651">
        <link role="concept" targetNodeId="1.1839742443506896918" resolveInfo="ParameterizedValueAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192652">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192653">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192654">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192655">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192656">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192657">
                    <link role="concept" targetNodeId="1.1839742443506896918" resolveInfo="ParameterizedValueAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192658">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192659">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192660">
                        <link role="concept" targetNodeId="1.1839742443506896918" resolveInfo="ParameterizedValueAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192661">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192662">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192663" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192664">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192665">
                      <link role="variableDeclaration" targetNodeId="5248658328134192656" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192666" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192667">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192668">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192669">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192670">
                      <link role="variableDeclaration" targetNodeId="5248658328134192656" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192671">
                      <link role="property" targetNodeId="1.9152698315526469693" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192672">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192673">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192674">
                        <link role="property" targetNodeId="1.9152698315526469693" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192675" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192676">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192677">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192678">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192679">
                      <link role="variableDeclaration" targetNodeId="5248658328134192656" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192680">
                      <link role="link" targetNodeId="1.9152698315526469694" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192681">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192682">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192683" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192684">
                        <link role="link" targetNodeId="1.9152698315526469694" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192685">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192686">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192687">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192688">
                      <link role="variableDeclaration" targetNodeId="5248658328134192656" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192689">
                      <link role="link" targetNodeId="1.9152698315526469695" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192690">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192691">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192692" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192693">
                        <link role="link" targetNodeId="1.9152698315526469695" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192694" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192695">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192696">
                  <link role="variableDeclaration" targetNodeId="5248658328134192656" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192697">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="5248658328134192698">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.9152698315526568928" resolveInfo="IValueSetTypeAssignment" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="5248658328134192699">
        <link role="concept" targetNodeId="1.1839742443506896938" resolveInfo="ParameterizedValueSetTypeAssignment" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="5248658328134192700">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="5248658328134192701">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="5248658328134192702">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" id="5248658328134192703">
                <node role="localVariableDeclaration" type="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" id="5248658328134192704">
                  <property name="name" value="assignment" />
                  <node role="type" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192705">
                    <link role="concept" targetNodeId="1.1839742443506896938" resolveInfo="ParameterizedValueSetTypeAssignment" />
                  </node>
                  <node role="initializer" type="jetbrains.mps.baseLanguage.structure.GenericNewExpression" id="5248658328134192706">
                    <node role="creator" type="jetbrains.mps.lang.smodel.structure.SNodeCreator" id="5248658328134192707">
                      <node role="createdType" type="jetbrains.mps.lang.smodel.structure.SNodeType" id="5248658328134192708">
                        <link role="concept" targetNodeId="1.1839742443506896938" resolveInfo="ParameterizedValueSetTypeAssignment" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192709">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192710">
                  <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192711" />
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithAnotherOperation" id="5248658328134192712">
                    <node role="replacementNode" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192713">
                      <link role="variableDeclaration" targetNodeId="5248658328134192704" resolveInfo="assignment" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192714" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192715">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192716">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192717">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192718">
                      <link role="variableDeclaration" targetNodeId="5248658328134192704" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192719">
                      <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="5248658328134192720">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192721">
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="5248658328134192722">
                        <link role="property" targetNodeId="1.9152698315526224633" resolveInfo="id" />
                      </node>
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192723" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192724">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192725">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192726">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192727">
                      <link role="variableDeclaration" targetNodeId="5248658328134192704" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482735071">
                      <link role="link" targetNodeId="1.9087026269843019313" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192729">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192730">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192731" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="2413662036482735073">
                        <link role="link" targetNodeId="1.9087026269843019313" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="5248658328134192733">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192734">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192735">
                    <node role="operand" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192736">
                      <link role="variableDeclaration" targetNodeId="5248658328134192704" resolveInfo="assignment" />
                    </node>
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192737">
                      <link role="link" targetNodeId="1.9152698315526568931" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Link_SetTargetOperation" id="5248658328134192738">
                    <node role="linkTarget" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="5248658328134192739">
                      <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="5248658328134192740" />
                      <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkAccess" id="5248658328134192741">
                        <link role="link" targetNodeId="1.9152698315526568931" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.Statement" id="5248658328134192742" />
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="5248658328134192743">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.LocalVariableReference" id="5248658328134192744">
                  <link role="variableDeclaration" targetNodeId="5248658328134192704" resolveInfo="assignment" />
                </node>
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="5248658328134192745">
            <property name="text" value="{}" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="7732518329893685652">
    <property name="name" value="UserDefinedConstraint_AddParameterList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7732518329893685653">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.8109229919045091332" resolveInfo="UserDefinedConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="7732518329893685654">
        <link role="concept" targetNodeId="1.8109229919045091332" resolveInfo="UserDefinedConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="7732518329893685655">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="7732518329893685656">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7732518329893685657">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7732518329893685659">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329893685666">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7732518329893685661">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329893685660" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="8576635178873158166">
                      <link role="link" targetNodeId="1.7732518329893839989" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="7732518329893685670" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="7732518329893685674">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7732518329893685677" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="7732518329893685658">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="687424318636854399">
    <property name="name" value="ComponentValuesList_AddList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="687424318636854400">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.687424318636838191" resolveInfo="SetValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="687424318636854405">
        <link role="concept" targetNodeId="1.687424318636838191" resolveInfo="SetValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="687424318636854406">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="687424318636854407">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318636854408">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318636854410">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318636854417">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318636854412">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318636854411" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661752">
                      <link role="link" targetNodeId="1.6781117154622661623" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="687424318636854421" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318636854432">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318636854433" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="687424318636854409">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="687424318636854438">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738089525453" resolveInfo="SequenceValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="687424318636854439">
        <link role="concept" targetNodeId="1.1678051738089525453" resolveInfo="SequenceValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="687424318636854440">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="687424318636854441">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318636854442">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318636854444">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318636854451">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318636854446">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318636854445" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="6781117154622661754">
                      <link role="link" targetNodeId="1.6781117154622661623" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="687424318636854455" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318636854459">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318636854460" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="687424318636854443">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="687424318638106173">
    <property name="name" value="BitStringValueIdentifierList" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="687424318638106174">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.1678051738082899277" resolveInfo="BitStringIdentifierList" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="687424318638106175">
        <link role="concept" targetNodeId="1.1678051738082899277" resolveInfo="BitStringIdentifierList" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="687424318638106176">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="687424318638106177">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="687424318638106178">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318638106180">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106187">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="687424318638106182">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318638106181" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SLinkListAccess" id="687424318638106186">
                      <link role="link" targetNodeId="1.687424318638106151" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" id="687424318638106191" />
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="687424318638106195">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="687424318638106196" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="687424318638106179">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="2335512627510086737">
    <property name="name" value="ValidationMessage_AddExpression" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="2335512627510086738">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.2335512627509498160" resolveInfo="ValidationMessage" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="2335512627510086739">
        <link role="concept" targetNodeId="1.2335512627509498160" resolveInfo="ValidationMessage" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="2335512627510086740">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="2335512627510086741">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="2335512627510086742">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2335512627510086744">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7092140500375275682">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="2335512627510086746">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2335512627510086745" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="7092140500375275681">
                      <link role="property" targetNodeId="1.7092140500375275672" resolveInfo="isTargetNodePresent" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="7092140500375275686">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="7092140500375275688">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="2335512627510086762">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="2335512627510086763" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="2335512627510086743">
            <property name="text" value=" " />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4208300936832562125">
    <property name="name" value="LowerAndUpperEndPoints" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4208300936832562142">
      <link role="applicableConcept" targetNodeId="1.5803918984630072282" resolveInfo="UpperEndPoint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="4208300936832562143">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="4208300936832562144">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936832562145">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4208300936832562146">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4208300936832562148">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4208300936832562147" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="4208300936832562152" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4208300936832562126">
      <link role="applicableConcept" targetNodeId="1.5803918984630072260" resolveInfo="LowerEndPoint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="4208300936832562128">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="4208300936832562129">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936832562130">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4208300936832562134">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4208300936832562136">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4208300936832562135" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="4208300936832562140" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="4208300936833503702">
    <property name="package" value="substitutions" />
    <property name="name" value="ISubtypesElements" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4208300936833550673">
      <link role="applicableConcept" targetNodeId="1.5803918984630517452" resolveInfo="TypeConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4208300936833550674">
        <link role="concept" targetNodeId="1.5803918984630517452" resolveInfo="TypeConstraint" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.WrapperSubstituteMenuPart" id="4208300936833550675">
          <link role="wrappedConcept" targetNodeId="1.1048767958318497761" resolveInfo="ASNType" />
          <node role="wrapperBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SubstituteWrapper" id="4208300936833550676">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936833550677">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4208300936833550678">
                <node role="expression" type="jetbrains.mps.lang.quotation.structure.Quotation" id="4208300936833550680">
                  <node role="quotedNode" type="ASN.structure.TypeConstraint" id="4208300936833550682">
                    <node role="type" type="ASN.structure.ASNType" id="4208300936833550683">
                      <node role="_attr_$attribute" type="jetbrains.mps.lang.quotation.structure.Antiquotation" id="4208300936833550684">
                        <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_nodeToWrap" id="4208300936833550686" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4208300936833503703">
      <link role="applicableConcept" targetNodeId="1.1046849219940989689" resolveInfo="SingleValue" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4208300936833503705">
        <link role="concept" targetNodeId="1.1046849219940989689" resolveInfo="SingleValue" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.WrapperSubstituteMenuPart" id="4208300936833503706">
          <link role="wrappedConcept" targetNodeId="1.5430715052354187086" resolveInfo="ASNValue" />
          <node role="wrapperBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SubstituteWrapper" id="4208300936833503707">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936833503708">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4208300936833503709">
                <node role="expression" type="jetbrains.mps.lang.quotation.structure.Quotation" id="4208300936833503714">
                  <node role="quotedNode" type="ASN.structure.SingleValue" id="4208300936833503716">
                    <node role="value" type="ASN.structure.ASNValue" id="4208300936833503717">
                      <node role="_attr_$attribute" type="jetbrains.mps.lang.quotation.structure.Antiquotation" id="4208300936833503719">
                        <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_nodeToWrap" id="4208300936833503721" />
                      </node>
                    </node>
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="4208300936833981371">
    <property name="package" value="substitutions" />
    <property name="name" value="Remove_ObjectSetElements" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4208300936833981372">
      <link role="applicableConcept" targetNodeId="1.1839742443506153629" resolveInfo="IObjectSetElement" />
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.NodeSubstitutePreconditionFunction" id="4208300936833981392">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936833981393">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4208300936833981411">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617539034898">
              <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617539034891">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parentNode" id="8600224617539034892" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" id="8600224617539034893">
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_ConceptList" id="8600224617539034894">
                    <node role="concept" type="jetbrains.mps.lang.smodel.structure.ConceptReference" id="8600224617539034895">
                      <link role="concept" targetNodeId="1.1678051738092170561" resolveInfo="ObjectSet" />
                    </node>
                    <node role="concept" type="jetbrains.mps.lang.smodel.structure.ConceptReference" id="8600224617539034896">
                      <link role="concept" targetNodeId="1.8109229919045091367" resolveInfo="ComponentRelationConstraint" />
                    </node>
                  </node>
                  <node role="parameter" type="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" id="8600224617539034897" />
                </node>
              </node>
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" id="8600224617539034902" />
            </node>
          </node>
        </node>
      </node>
      <node role="part" type="jetbrains.mps.lang.actions.structure.RemoveByConditionPart" id="8600224617539034904">
        <node role="condition" type="jetbrains.mps.lang.actions.structure.QueryFunction_RemoveBy_Condition" id="8600224617539034905">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8600224617539034906">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8600224617539034907">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617539034909">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_concept" id="8600224617539034908" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" id="8600224617539372604">
                  <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="8600224617539372606">
                    <link role="conceptDeclaration" targetNodeId="1.1839742443506153629" resolveInfo="IObjectSetElement" />
                  </node>
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.NodeSubstituteActions" id="4208300936834237637">
    <property name="package" value="substitutions" />
    <property name="name" value="Remove_ExceptElements" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.NodeSubstituteActionsBuilder" id="4208300936834249973">
      <link role="applicableConcept" targetNodeId="1.1046849219940989658" resolveInfo="ExceptElements" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.RemovePart" id="4208300936834336853">
        <link role="conceptToRemove" targetNodeId="1.1046849219940989658" resolveInfo="ExceptElements" />
      </node>
      <node role="precondition" type="jetbrains.mps.lang.actions.structure.NodeSubstitutePreconditionFunction" id="4208300936834336854">
        <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4208300936834336855">
          <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4208300936834459494">
            <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4208300936834459497">
              <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parentNode" id="4208300936834459496" />
              <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" id="4208300936834459501">
                <node role="conceptArgument" type="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" id="4208300936834459503">
                  <link role="conceptDeclaration" targetNodeId="1.1046849219940989658" resolveInfo="ExceptElements" />
                </node>
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="4135453859679981205">
    <property name="name" value="EnumerationItem_AddValue" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="4135453859679981206">
      <property name="transformTag" value="ext_1_RTransform" />
      <link role="applicableConcept" targetNodeId="1.7401774347124493329" resolveInfo="EnumerationItem" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.AddMenuPart" id="4135453859679981207">
        <link role="concept" targetNodeId="1.7401774347124493329" resolveInfo="EnumerationItem" />
        <node role="part" type="jetbrains.mps.lang.actions.structure.SimpleSideTransformMenuPart" id="4135453859679981208">
          <node role="handler" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" id="4135453859679981209">
            <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="4135453859679981210">
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="4135453859679981212">
                <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981219">
                  <node role="operand" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="4135453859679981214">
                    <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4135453859679981213" />
                    <node role="operation" type="jetbrains.mps.lang.smodel.structure.SPropertyAccess" id="4135453859679981218">
                      <link role="property" targetNodeId="1.4135453859679981077" resolveInfo="isValuePresent" />
                    </node>
                  </node>
                  <node role="operation" type="jetbrains.mps.lang.smodel.structure.Property_SetOperation" id="4135453859679981223">
                    <node role="value" type="jetbrains.mps.baseLanguage.structure.BooleanConstant" id="4135453859679981225">
                      <property name="value" value="true" />
                    </node>
                  </node>
                </node>
              </node>
              <node role="statement" type="jetbrains.mps.baseLanguage.structure.ReturnStatement" id="4135453859679981227">
                <node role="expression" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="4135453859679981229" />
              </node>
            </node>
          </node>
          <node role="matchingText" type="jetbrains.mps.lang.actions.structure.SideTransform_SimpleString" id="4135453859679981211">
            <property name="text" value="(" />
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="8600224617540191905">
    <property name="name" value="AssignmentEntity" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="8600224617540191906">
      <link role="applicableConcept" targetNodeId="1.5430715052355428915" resolveInfo="IAssignmentEntity" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="8600224617540191907">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="8600224617540191908">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="8600224617540191909">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="8600224617540191910">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="8600224617540191912">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="8600224617540191911" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="8600224617540191916" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="7463838306355947800">
    <property name="name" value="InformationFromObjects" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7463838306355947982">
      <link role="applicableConcept" targetNodeId="1.5430715052355519125" resolveInfo="IInformationFromObject" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="7463838306355947983">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="7463838306355947984">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7463838306355947985">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7463838306355947986">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7463838306355947988">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7463838306355947987" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="7463838306355947992" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
  <node type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActions" id="7463838306357052109">
    <property name="name" value="MutltipleTypeConstraint" />
    <node role="actionsBuilder" type="jetbrains.mps.lang.actions.structure.SideTransformHintSubstituteActionsBuilder" id="7463838306357052110">
      <link role="applicableConcept" targetNodeId="1.3016143038560372986" resolveInfo="MultipleTypeConstraint" />
      <node role="part" type="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" id="7463838306357052111">
        <node role="nodeBlock" type="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_NodeQuery" id="7463838306357052112">
          <node role="body" type="jetbrains.mps.baseLanguage.structure.StatementList" id="7463838306357052113">
            <node role="statement" type="jetbrains.mps.baseLanguage.structure.ExpressionStatement" id="7463838306357052114">
              <node role="expression" type="jetbrains.mps.baseLanguage.structure.DotExpression" id="7463838306357052116">
                <node role="operand" type="jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_sourceNode" id="7463838306357052115" />
                <node role="operation" type="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" id="7463838306357052120" />
              </node>
            </node>
          </node>
        </node>
      </node>
    </node>
  </node>
</model>

